WindowsPhone8.1でのカメラAPIが変更されています

WindowsPhone8では「Windows.Phone.Media.Capture」を使用していましたが、このAPIがWindowsPhone8.1では「APIs is provided for backwards compatibility only.」と「後方互換」のためだけに提供されるAPIとなっています。

「Windows.Phone.Media.Capture」に代わってWindowsPhone8.1では「Windows.Media.Capture」というAPI群が提供されるようになりました。

「Windows.Media.Capture」は「Windows.Phone.Media.Capture」の代わりだけあって、細かな設定ができます。
細かな設定はいらないという場合は「CameraCaptureUI」というAPIが提供されています。

「CameraCaptureUI」は手軽なビデオ撮影機能を実現したい場合には便利ではないかと思います。
※CameraCaptureUI APIはWindowsストアアプリのみのAPIでした

WindowsRuntime(WindowsPhone SilverLight 8.1でも動きます)ですが、Back/Frontのチェック方法を発見したので掲載しておきます。

private static async Task<DeviceInformation> GetCameraID(Windows.Devices.Enumeration.Panel desired)
{
    DeviceInformation deviceID = (await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture))
        .FirstOrDefault(x => x.EnclosureLocation != null && x.EnclosureLocation.Panel == desired);

    if (deviceID != null) return deviceID;
    else throw new Exception(string.Format("Camera of type {0} doesn't exist.", desired));
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください