【发布时间】:2012-11-07 09:52:40
【问题描述】:
我正在 Silverlight 中为 windows phone 8 开发一个 Flash Light 应用程序。目前 对于使用“Microsoft.Phone.Media.Extended”程序集,我深陷其中一个问题。适用于 Windows Phone 7 的 Flash Light 应用程序已经在 Windows Phone Marketplace 中发布,它在 Windows Phone 7 上运行良好,但由于“Microsoft.Phone.Media.Extended”dll,它不适用于 Windows Phone 8。
在将 WP7 应用程序转换为 wp8 并运行后,我收到了这种类型的错误消息:
无法加载文件或程序集“Microsoft.Phone.Media.Extended,Version=7.0.0.0, Culture=neutral, PublicKeyToken=24eec0d8c86cda1e”或其依赖项之一。系统找不到特定文件。”
根据以下链接了解 Windows Phone 特定功能: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206947(v=vs.105).aspx
如果您使用反射来访问此程序集中的 API,因为它们没有公开公开,您的应用可能会在 Windows Phone 8 设备上失败。删除对此程序集的调用并使用公开的媒体 API。
我不明白如何使用公开的媒体 API。我在 Windows Phone 7 中使用反射使用 Microsoft.Phone.Media.Extended。在 Windows Phone 8 中是否有直接访问 Microsoft.Phone.Media.Extended 的方法或其他方式来解决这个问题?
谢谢。
================================================ ============================ 编辑问题:
嗨,
根据线程,我们使用“VideoTorchMode”枚举来打开手电筒。据此,我使用了使用 Windows.Phone.Media.Capture 命名空间的 AudioVideoCaptureDevice 类,代码如下:
var objDevice = await AudioVideoCaptureDevice.OpenAsync(CameraSensorLocation.Back, AudioVideoCaptureDevice.GetAvailableCaptureResolution(CameraSensorLocation.Back).First());
objDevice .SetProperty(KnownCameraAudioVideoProperties.VideoTorchMode, VideoTorchMode.On);
我想保持闪光灯打开但不拍摄视频。所以,我还没有初始化视频捕获代码。问题是,我还没有 WP8,在模拟器中我无法测试。
任何人都可以确认,一旦我输入此代码,我的应用程序将像 Flashlight-X 一样工作,其中灯会亮起而不会闪烁,并且它也不会在 WP8 中崩溃。
谢谢
【问题讨论】:
-
Is there any direct method for accessing Microsoft.Phone.Media.Extended in Windows Phone 8关键是,那个DLL已经在WP8中被删除了,所以你不能再使用它了。市场上有兼容 WP8 的手电筒应用程序,因此某处必须有等效的 API。是时候深入研究 MSDN 文档了;)
标签: windows-phone-7 windows-phone-8