2つのアプリケーションを実行します。どちらもCastSDKv2とRemote Display
APIを使用します。アプリ#1からキャストを開始し、アプリ#2に移動し、キャストボタンを押してルートを選択します。
予想:アプリ#2はキャストを開始し、アプリ#1はキャストを停止します。
実際:ルートを選択した直後に、アプリ#2MediaRouter.Callback.onRouteUnselected()
が呼び出されます。どちらのアプリのコンテンツもレシーバーに表示されませんが、アプリ#1の通知コントローラーは残ります。
Cast SDKv3ではこの動作は見られませんでした。別のアプリがキャストを開始したときに前のキャストセッションを確実に停止する方法は、Cast SDK v2にありますか?
私はまだこれを行っていませんが、addUpdateListenerを実装して、別のリスナーが起動したときにsession.stopを実行することができます。
addUpdateListener(listener)
セッションが変更されたときに呼び出されるリスナーを追加します。次のプロパティを変更すると、リスナーがトリガーされます:statusText、名前空間、ステータス、およびレシーバーのボリューム。
リスナーは、セッションのstatusプロパティをチェックして、接続ステータスを判別する必要があります。ブールパラメータ
isAlive
は非推奨になり、ステータスSessionプロパティが優先されます。isAliveパラメーターは、下位互換性のために引き続き渡され、以下の場合を除いてtrueになります。
status = chrome.cast.SessionStatus.STOPPED
アプリメソッドを停止します。
function stopApp() {
session.stop(onSuccess, onError);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加