iT邦幫忙

DAY 16
1

Windows Phone 程式開發系列 第 13

[WP 開發] 控制閃光燈和 Emulator 於 Windows 8.1 遇到相容性問題無法執行

在 Windows Phone 如果想要控制閃光燈,該怎麼做?在 Windows Phone 8 提供類別與方法可直接控制閃光燈。
另外,最近將作業系統更換為 Windows 8.1 後,發生了相容性問題,無法執行模擬器,在此文也做分享。

本文刊載於
http://www.dotblogs.com.tw/chou/archive/2013/10/02/122227.aspx
http://www.dotblogs.com.tw/chou/archive/2013/09/11/118156.aspx

在這篇文章您可以學到:

  1. 在 Windows Phone 8 透過類別開發閃光燈程式。
  2. Windows Phone Emulator 於 Windows 8.1 執行時遇到相容性問題無法執行。

控制閃光燈

首先宣告 AudioVideoCaptureDevice 類別

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)
    {
        // 無法控制閃光燈
    }
}

Windows Phone Emulator 於 Windows 8.1 執行時遇到相容性問題無法執行

當我在 Windows 8.1 安裝 Visual Studio 2012 與 Windows Phone 8 SDK 後,想要執行 Windows Phone 模擬器,出現相容性問題,無法執行 Windows Phone 模擬器。

錯誤訊息 0x80131500,該如何處理?

我們可以透過安裝 Visual Studio 2012 Update 3 解決此問題,下載網頁:
http://www.microsoft.com/zh-tw/download/details.aspx?id=39305

建議可下載 ISO 檔案進行安裝,下載網址:
http://go.microsoft.com/fwlink/?LinkId=301705

也可透過 [擴充功能和更新]。

在 [更新] 選項,選擇更新 Visual Studio 2012 Update 3。


上一篇
[WP 開發] Nokia Imaging SDK (1) 加入參考
下一篇
[WP 開發] 專案升級至 WP OS 8.0 和處理錯誤 WP Emulator 無法連線到 WP 作業系統錯誤
系列文
Windows Phone 程式開發27

尚未有邦友留言

立即登入留言