2017-08-01 6 views
0

私はビデオチャットUWPアプリケーションで作業しています.GitHubでChatterboxが見つかりました。WebRTC C#ビデオストリームは、コーデックが変更されるまで開始しません。

問題がわかりました。ビデオストリームが開始せず、選択したビデオコーデックを切り替える必要があることがあります。

デフォルトでは、VP8とH264の両方のビデオコーデックが正常に動作しますが、どちらも問題なく動作しますが、問題が発生したUWPを再インストールすると、コーデックが切り替わるまでビデオは開始されません。この問題はデフォルトのコーデックに依存していないように見えます。デフォルトではH264、VP8ではデフォルトで表示されることがあります。

私はアプリケーションとtriyngのデバッグを解決するためにtriyngを使用して、エラーの場所と生成方法を発見しましたが、今までは見つけられませんでした。

この厄介な問題を解決するために、既に同様の問題に直面している人がいるか、私に与える提案がありますか?

+0

あなたが任意のコードを提供しなかったので、私たちはおしゃべりプロジェクトはあなたの問題を再現することができますテストしたのですか? –

+0

IFinally私はこの問題を解決しました。興味がある場合は、解答の詳細な説明があります。 ビデオコールを開始する前に設定ページにアクセスする必要があるバグを回避するために、アプリケーションを終了して再度開くだけでバグを再現することができます。 – Marco

答えて

0

最後に私はこの問題を解決しました。ここで私が採用した手順を説明しようとします。それほどエレガントではありませんが、機能します。

バグを再現:あなたは、単に設定ページを訪問したことなく、ビデオ通話を開始する必要があり、このバグを再現するために

。このページがナビゲートされている場合は、アプリケーションを閉じてもう一度起動してから、設定に移動せずにビデオハングアウトを開きます。

バグ、について説明:バグは、アプリケーションの起動時に読み込む設定によって引き起こされた

、一部の設定がデフォルト値を持っている、などがあるsignalingServerAdressとSignalingServerPort。他の構成は、ハードウェアの能力に依存するため、ディナミカルおよび非同期にロードされる(例えば、ビデオおよびオーディオコーデック)。 UWPを非同期に起動すると、コンフィグレーションが正しくロードされず、Contextオブジェクトが完全にポーリングされません。 この不完全なオブジェクトは、sdpオファーがリモートピアに送信されたときにビデオストリームを開始しません。

バグ溶液(非常にエレガントではない):

私は、設定画面を表示するアプリケーションを強制的にバグを解決しましたので、すべての設定がロードされ、ユーザーが連絡先にナビゲートするためにそれを保存する必要がありますページ。

私はブール_isFirstNavigation = trueを追加ContactsView.xaml.csを変更した場合、私はdiplay設定ページへShowSettingsコマンドを起動しました。ここで

私が変更した全体の方法:

private void ContactsView_DataContextChanged(FrameworkElement sender, 
DataContextChangedEventArgs args) 
     { 
      var viewModel = DataContext as ContactsViewModel; 
      if (viewModel == null) return; 
      viewModel.RingtoneElement = RingtoneElement; 



      //adding the following if block solved the bug 
      if (_isFirstNavigation) 
      { 
       viewModel.ShowSettings.Execute(null); 
       _isFirstNavigation = false; 
      } 
     } 
+0

ChatterBoxプロジェクトのバグのようです。あなたはgithubの問題として提出する必要があります。 –

関連する問題