最後に私はこの問題を解決しました。ここで私が採用した手順を説明しようとします。それほどエレガントではありませんが、機能します。
バグを再現:あなたは、単に設定ページを訪問したことなく、ビデオ通話を開始する必要があり、このバグを再現するために
。このページがナビゲートされている場合は、アプリケーションを閉じてもう一度起動してから、設定に移動せずにビデオハングアウトを開きます。
バグ、について説明:バグは、アプリケーションの起動時に読み込む設定によって引き起こされた
、一部の設定がデフォルト値を持っている、などがある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;
}
}
あなたが任意のコードを提供しなかったので、私たちはおしゃべりプロジェクトはあなたの問題を再現することができますテストしたのですか? –
IFinally私はこの問題を解決しました。興味がある場合は、解答の詳細な説明があります。 ビデオコールを開始する前に設定ページにアクセスする必要があるバグを回避するために、アプリケーションを終了して再度開くだけでバグを再現することができます。 – Marco