我有Lumia 830并且我试图在UWP C#中创建手电筒应用程序。我的设备手电筒工作得很好,但我不知道为什么我不能创建我自己的应用程序打开/关闭我的手机火炬。 我用Lamp class:
var lamp = await Lamp.GetDefaultAsync();
if (lamp == null)
{
ShowErrorMessage("No Lamp device found");
return;
}
lamp.IsEnabled = true;
在我的手机上运行此代码"指示灯"为空,它无法找到我的FlashLED。我从MSDN.Microsoft.com获得了此代码,并且说了
如果返回的对象为null,则不支持Lamp API 设备。有些设备可能不支持Lamp API,即使有 实际存在于设备上的灯。
这个课程对我的Lumia 830不起作用我不知道为什么? :(
我也使用这段代码:
var mediaDev = new MediaCapture();
await mediaDev.InitializeAsync();
var videoDev = mediaDev.VideoDeviceController;
var tc = videoDev.TorchControl;
if (tc.Supported)
{
// But wait, for this to work with Blue camera drivers, we have to Start a recording session
// Create video encoding profile as MP4
var videoEncodingProperties = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Vga);
// Start Video Recording
var videoStorageFile = await KnownFolders.VideosLibrary.CreateFileAsync("tempVideo.mp4", CreationCollisionOption.GenerateUniqueName);
await mediaDev.StartRecordToStorageFileAsync(videoEncodingProperties, videoStorageFile);
// Turn on Torch
mediaDev.VideoDeviceController.TorchControl.Enabled = true;
}
此代码有效,我的FlashLED开启,但它录制了视频,并占用了用户SD卡内存。 如果您知道有最好的方式打开/关闭Torch或FlashLED,请帮助我。 提前致谢 Hussein Habibi Juybari
答案 0 :(得分:1)
Lamp API仅适用于Windows 10设备,您只能在支持API的设备上使用它。目前支持的设备为950 / 950XL,650和550.旧设备不会更新以支持此API。当您检测到旧设备上的灯泡设备不可用时,您应该回到打开闪存的Windows 8.1方法。
来自: https://wpdev.uservoice.com/forums/110705/suggestions/15846967
答案 1 :(得分:0)
请测试名为LampDevice的默认样本(参见https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/LampDevice)。你有同样的行为吗?我刚刚在Lumia 930上测试过它工作正常。没有Lumia 830来测试它。