2016-10-11 34 views
1

UWPメディアキャプチャの初期化に問題があります。私のコードは以下の通りですメディアキャプチャの初期化エラー

private async Task StartPreviewAsync() 
{ 
    try 
    { 
     //set initilize settings 
     Settings oneSetting = null; 

     using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), sqlpath)) 
     { 
      oneSetting = (from p in conn.Table<Settings>() 
          where p.id == 0 
          select p).FirstOrDefault(); 
     } 

     if (oneSetting.camera != null) 
     { 
      var settings = new MediaCaptureInitializationSettings(); 
      settings.StreamingCaptureMode = StreamingCaptureMode.Video; 
      settings.PhotoCaptureSource = PhotoCaptureSource.VideoPreview; 
      var devices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(Windows.Devices.Enumeration.DeviceClass.VideoCapture); 

      foreach (var device in devices) 
      { 
       if ((device.Id).Equals(oneSetting.cameraId)) 
       { 
        settings.VideoDeviceId = device.Id; 
        break; 
       } 
      } 

      _mediaCapture = new MediaCapture(); 
      await _mediaCapture.InitializeAsync(settings); 

      //MediaCapture m = new MediaCapture(); 
      //await m.InitializeAsync(); 

      var focusSettings = new FocusSettings(); 
      focusSettings.AutoFocusRange = AutoFocusRange.FullRange; 
      focusSettings.Mode = FocusMode.Auto; 
      focusSettings.WaitForFocus = true; 
      focusSettings.DisableDriverFallback = false; 

      _mediaCapture.VideoDeviceController.FocusControl.Configure(focusSettings); 
      await _mediaCapture.VideoDeviceController.ExposureControl.SetAutoAsync(true); 

      _mediaCapture.SetPreviewRotation(VideoRotation.Clockwise90Degrees); 
      _mediaCapture.SetRecordRotation(VideoRotation.Clockwise90Degrees); 

      capturePreview.Source = _mediaCapture; 
      await _mediaCapture.StartPreviewAsync(); 
      _isPreviewing = true; 

      _displayRequest.RequestActive(); 
      DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape; 
     } 
    } 
    catch (UnauthorizedAccessException) 
    { 
     // This will be thrown if the user denied access to the camera in privacy settings 
     System.Diagnostics.Debug.WriteLine("The app was denied access to the camera"); 
    } 
    catch (Exception ex) 
    { 
     System.Diagnostics.Debug.WriteLine("MediaCapture initialization failed. {0}", ex.Message); 
    } 
} 

MediaCaptureの初期化に失敗しました。 {0}エラーです。最近、うまくいく。しかし、今朝以来、それは誤りをもたらします。同じエラーが発生する人はいますか?

完全なエラーメッセージは次のとおりです。

指定したデバイスインターフェイスレベルまたは機能は、このシステムではサポートされていません。 :Media Captureの初期化に失敗しました。 {0} スレッド0x1924はコード0(0x0)で終了しました。

+0

エラーメッセージは何ですか?ちょうど "MediaCapture初期化に失敗しました。{0}エラー" –

+0

完全なエラーメッセージは次のとおりです。 指定されたデバイスインターフェイスレベルまたは機能は、このシステムではサポートされていません。 :Media Captureの初期化に失敗しました。 {0} スレッド0x1924はコード0(0x0)で終了しました。 –

答えて

0

しかし、今朝以降、エラーが発生します。

最近デバイスOSを更新しましたか?どのデバイスでこの問題に遭遇しましたか?OSのバージョンは何ですか?

私は個人的にはこれがデバイスの問題やドライブの問題のようだと思います。あなたのデバイスを再起動し、これが役立つかどうかを確認することができます。または、内蔵のカメラアプリを起動して、この公式アプリがうまく動作しているかどうかを確認できます。

確認が必要な情報が多すぎるため、この回答を書いています。私の提案に基づいてデバイスの詳細情報とテスト結果をコメントに残してください。この問題に

+0

私はWindows 10 Proで実行します。最近、いくつかの更新が行われました。私は、問題はこれらの更新についてだと思います。他のカムアプリケーションは同じマシンで正常に動作します。私は解決策を見つけることができませんでした。問題はカメラのデバイスやドライバではありません。私は2つの異なるカムを試したので。同じ問題に遭遇する他の人はいますか? –

+0

@mücahitaltıntaş、いいえ、あなたのOSのバージョンは? OSビルド14393?お使いのデバイスで公式の[Basic camera app sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CameraStarterKit)を実行してみてください。デモを私たちと共有することは可能でしょうか? –

+0

もちろん、基本カメラアプリサンプルを試しました。しかし、それは同じエラーを与えました。私のOsビルドは14393で、.Netフレームワークバージョンは4.6.01586です。ソーリー、私はデモを共有できませんでした。 –

0

ここに同じ問題があります。 多くの時間の再試行とグーグルで私はそれがWindows 10周年のアップデートに関連していたことを認識しています。 私はここに解決策を見つけた:

https://www.macecraft.com/fix-webcam-issues-windows-10-anniversary-update/

を私はレジストリ内EnableFrameServerModeキーを追加し、魔法のようにウェブカメラが動作し戻ってきました。