我正在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 中崩溃。
谢谢