[Windows Phone] 在 Windows Phone 8 控制闪光灯

原文:[Windows Phone] 在 Windows Phone 8 控制闪光灯

?

前言

在 Windows Phone 如果想要控制闪光灯,该怎麽做?在 Windows Phone 8 提供类别与方法可直接控制闪光灯。

?

实作

AudioVideoCaptureDevice 类别用来撷取音乐和影片。

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207322%28v=vs.105%29.aspx

?

首先宣告一个 AudioVideoCaptureDevice 类别变数 Device。

protected AudioVideoCaptureDevice Device { get; set; }

?

开启闪光灯

?

private async void ButtonTurnOnFlashLight_Click(object sender, RoutedEventArgs e)
{
    var sensorLocation = CameraSensorLocation.Back;

    try
    {
        if (this.Device == null)
        {
            //  取得 AudioViceoCaptureDevice
            this.Device = await AudioVideoCaptureDevice.OpenAsync(sensorLocation, AudioVideoCaptureDevice.GetAvailableCaptureResolutions(sensorLocation).First());
        }

        // Turn on FlashLight
        var supportedCameraModes = AudioVideoCaptureDevice.GetSupportedPropertyValues(sensorLocation, KnownCameraAudioVideoProperties.VideoTorchMode);
        if (supportedCameraModes.ToList().Contains((UInt32)VideoTorchMode.On))
        {
            this.Device.SetProperty(KnownCameraAudioVideoProperties.VideoTorchMode, VideoTorchMode.On);

            // 设定亮度为最大
            this.Device.SetProperty(KnownCameraAudioVideoProperties.VideoTorchPower, AudioVideoCaptureDevice.GetSupportedPropertyRange(sensorLocation, KnownCameraAudioVideoProperties.VideoTorchPower).Max);
        }
    }
    catch (Exception ex)
    {
        // 无法控制闪光灯
    }
}

?

关闭闪光灯

?

private void ButtonTurnOnFlashLight_Click(object sender, RoutedEventArgs e)
{
    var sensorLocation = CameraSensorLocation.Back;

    try
    {
        var supportedCameraModes = AudioVideoCaptureDevice
            .GetSupportedPropertyValues(sensorLocation, KnownCameraAudioVideoProperties.VideoTorchMode);
        // Turn off FlashLight
        if (this.Device != null && supportedCameraModes.ToList().Contains((UInt32)VideoTorchMode.Off))
        {            this.Device.SetProperty(KnownCameraAudioVideoProperties.VideoTorchMode, VideoTorchMode.Off);
        }
    }
    catch (Exception ex)
    {
        // 无法控制闪光灯
    }
}

?

posted on
2013/10/2 02:40
|

我要推荐

|
阅读数 : 1214

|
订阅

时间: 2024-09-26 01:26:33

[Windows Phone] 在 Windows Phone 8 控制闪光灯的相关文章

Windows 8实例教程系列 - 布局控制

原文:Windows 8实例教程系列 - 布局控制 与传统应用类似,Windows store应用允许开发人员通过布局控件管理应用UI. 本篇将讨论Windows8布局设计控制. Windows 8布局控件 在Windows Store应用设计中,布局控件是控制对象位置和尺寸的,由于Windows Store应用不仅仅面向桌面操作系统,而且还需要适应移动设备的部署,所以在设计时,往往需要考虑到不同的分辨率或者硬件屏幕尺寸标准下应用布局的适配性,最大程度的保持设计灵活性是应用设计原则重要环节之一.

Windows Media Center 中的“家长控制”

如果您的计算机没有电视调谐器,则要在 Windows Media Center 中播放和录制电视节目需要可选的模拟或数字电视调谐器. http://www.aliyun.com/zixun/aggregation/18283.html">数字媒体的出现提供了对广泛内容的前所未有的访问,其中某些访问可能不适合每个观看者.家长可以通过配置 Windows Media Center 中的"家长控制"来指定和强制适合他们家庭成员的内容. 当启用"家长控制"时

[Windows Phone] 地图覆叠层控制项(MapOverlay )

原文:[Windows Phone] 地图覆叠层控制项(MapOverlay ) 前言 当使用地图时,我们可能需要定位一些座标图示或是绘制一些文字线条,这时可以在地图上加上覆叠层进行绘制,在 Windows Phone 应用程式中是透过地图覆叠层控制项(MapOverlay )来达成,本文将以实例展示如何使用. ? 实作 step1 建立专案. ? step2 在 WMAppManifest.xml 滑鼠左键按两下进行编辑. ? step3 开启 WMAppManifest.xml 後,先切换至

windows无法启动windows audio服务?

  我电脑出现了音频服务未运行,而且没声音,在控制版面---管理工具----服务---windows audio里无法启动这个选项,提示windows无法启动windows audio服务 (位于本地计算机上) 错误1079:此服务的账户不同于运行同一进程上其他服务的账户.(我的是win7系统) 答:可能是由于C:WindowsSystem32audiosrv.dll文件被误删 你去下载一个audiosrv.dll文件放在System32目录下,然后在运行里输入命令:regsvr32 audio

如何使用windows 7加入windows server 2008的域

今天在虚拟机中测试如何使用windows 7加入windows server 2008的域实验. 首先让windows server 2008去创建AD,成为域中的DC. 使用dcpromo进行创建DC过程: 在Win7客户机上配置IP地址,DNS指向DC的地址:

Windows Vista与Windows 7的任务栏像素尺寸对比

Windows 7最吸引人的新特性之一就是超级任务栏"SuperBar",不过功能强大的同时占用的屏幕面积也似乎大了一些,对于小尺寸显示器用户来说,可用空间会稍微更紧张一些.接下来我们就具体对比意义下Windows Vista和Windows 7任务栏的像素尺寸,其中Windows 7还有小图标和大图标两种模式.两个系统下都在快速启动栏设置IE和记事本两个图标,同时开启Firefox和计算器两个程序且在任务栏按钮上启用标题. 在Vista下,开始按钮.快速启动栏和程序按钮的横向尺寸分别

解决Windows Vista、Windows 2008驱动兼容问题

微软每次升级操作系统,都会带来新的兼容性问题. 当然,这不能怪微软,技术总是在进步,硬件水平和软件设计水平都在发展,不能固步于陈旧的规则. 就好像,很多评论家建议用户不升级到Vista,升级到Windows Seven一样,非常非常的愚蠢.评论家们到时候又会发现Windows Seven 同样产生了新的兼容性问题和更强的硬件需求. 废话不说,进入主题,这是网友MING遇到的问题和解决方法, 新一代的Windows Vista.Windows Server 2008系统对老的显卡(如ati rad

如何在Windows NT、Windows 2000和Windows XP中使用VDMDBG函数

摘要 即使是在 32位环境中编写程序,也经常碰到处理 16位应用程序的情况.在 Windows NT 中,16位程序是运行在虚拟 DOS 机(VDM)中的.VDMDBG.dll 包含许多处理16位程序的有用函数,这个库是 Platform SDK 的一部分. VDMDBG 中的函数提供了很好的方式在 VDM 中枚举.创建和终止 16位进程(任务).本文将描述如何在Windows NT.Windows 2000 和 Windows XP 中使用这些函数. 如果需要使用 VDMDBG 函数,你的工程

使用Windows 7管理Windows 2008 R2

发现了一个比较好玩的东东,分享一下.使用windows 7 管理windows Server 2008 R2.windows2008 的部分角色,甚至Windows 2008 Server Core.安装这个工具Remote Server Administration Tools (RSAT) for Windows 7.就可以通过Win7 管理2008的角色了,比如AD.DHCP.NDS.Hyper-V等 一:安装RSAT,去下面的链接下载,安装 [url]http://www.microso