Window Phone 8 手電筒程式碼
---
日期: Jul 06, 2014
標籤:
-
WP8
-
C#
語言:
正體中文
---
我就想開發一個鎖屏也能用的手電筒,發現找資料那是相當的困難。找到的程式碼基本都不能令人滿意,有的需要使用照相機,有的需要使用錄影機,感覺都不是很爽。
最後經過摸索,Ui介面只要一個按鈕,就可以實現手電筒的開啟和關閉,而且是常亮的,廢話不多說了,上程式碼:
Ui介面:
一個按鈕就Ok了:
1
| <Button Name="btnFlash" Content="閃光燈" Height="200" Click="btnFlash_Click_1"/>
|
後臺頁面程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| private bool Flag = false; AudioVideoCaptureDevice avDevice = null;
public MainPage() { InitializeComponent(); } private async void btnFlash_Click_1(object sender, RoutedEventArgs e) { if (Flag) {
if (avDevice != null) { avDevice.Dispose(); Flag = false; } } else { var sensorLocation = CameraSensorLocation.Back; avDevice = await AudioVideoCaptureDevice.OpenAsync(sensorLocation, AudioVideoCaptureDevice.GetAvailableCaptureResolutions(sensorLocation).First());
var supportedCameraModes = AudioVideoCaptureDevice .GetSupportedPropertyValues(sensorLocation, KnownCameraAudioVideoProperties.VideoTorchMode); if (supportedCameraModes.ToList().Contains((UInt32)VideoTorchMode.On)) { avDevice.SetProperty(KnownCameraAudioVideoProperties.VideoTorchMode, VideoTorchMode.On); Flag = true; } } }
|
還有一個特別需要注意的地方:
一定不要忘記在WMAppManifest.xml裡面加上這兩個功能:
1 2
| <Capability Name="ID_CAP_ISV_CAMERA" > <Capability Name="ID_CAP_MICROPHONE" >
|
評論
導覽