我正在尝试通过Windows Phone应用程序中的TorchControl Class使用手电筒应用程序:
这是我的代码
但问题在于,每次我第二次点击按钮时应用程序都会崩溃。我已经被告知使用mediaDev.Dispose()方法,但它也无效。 以下是异常:
“mscorlib.ni.dll中发生了类型为'System.Exception'的一次首次机会异常 WinRT信息:找不到与此错误码关联的文本。”
这是在“initializeasync”中突出显示的时候显示的。
private static async Task<DeviceInformation> GetCameraID(Windows.Devices.Enumeration.Panel desiredCamera)
{
DeviceInformation deviceID = (await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture))
.FirstOrDefault(x => x.EnclosureLocation != null && x.EnclosureLocation.Panel == desiredCamera);
if (deviceID != null) return deviceID;
else throw new Exception(string.Format("Camera {0} doesn't exist", desiredCamera));
}
async private void Button_Click(object sender, RoutedEventArgs e)
{
var cameraID = await GetCameraID(Windows.Devices.Enumeration.Panel.Back);
var mediaDev = new MediaCapture();
await mediaDev.InitializeAsync(new MediaCaptureInitializationSettings
{
StreamingCaptureMode = StreamingCaptureMode.Video,
PhotoCaptureSource = PhotoCaptureSource.VideoPreview,
AudioDeviceId = String.Empty,
VideoDeviceId = cameraID.Id
});
var videoDev = mediaDev.VideoDeviceController;
var tc = videoDev.TorchControl;
if (tc.Supported)
tc.Enabled = true;
mediaDev.Dispose();
}
但问题在于,每次我第二次点击按钮时应用程序都会崩溃。我已经被告知使用mediaDev.Dispose()方法,但它也无效。 以下是异常:
“mscorlib.ni.dll中发生了类型为'System.Exception'的一次首次机会异常 WinRT信息:找不到与此错误码关联的文本。”
这是在“initializeasync”中突出显示的时候显示的。