4

これが私がやっていることです:

  • [設定] から ChromeCast に手動で接続します。
  • プレゼンテーションを管理するアプリを起動して、既に接続している ChromeCast デバイスを使用してカスタム レイアウトを表示します。
  • 手動で閉じてアプリを終了します。
  • この時点では、デバイスの画面キャストがまだ表示されています。ここで、プログラムでキャストから切断したいので、画面のキャストが表示されなくなります。

プレゼンテーションを行っている間、キャスト先のディスプレイにアクセスできます。

MediaRouter.RouteInfo route = mMediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
    return route != null ? route.getPresentationDisplay() : null;

この機能を実現する方法についてのアイデアはありますか?

アップデート:

これに興味がある人のために、これが私が行った方法です(Ali Naddafの回答に感謝します):

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
public void disconnect(){
    MediaRouter mMediaRouter = (MediaRouter) getSystemService(Context.MEDIA_ROUTER_SERVICE);
    mMediaRouter.selectRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO, mMediaRouter.getDefaultRoute());
}
4

4 に答える 4

0

これは私のために働いた:

mediarouter.unselect(0)
于 2016-05-03T11:13:27.490 に答える
0

私が正しく理解している場合、ユーザーはアプリの外部で画面のキャスト/ミラーリングを開始しています。次に、ユーザーがアプリに入り、離れたときに切断しますか? 私が正しくない場合は、お知らせください。

画面のミラーリングを切断することは可能ですが、それが正しいことかどうかはわかりません。ユーザーがアプリに入ると、ユーザーがアプリのせいで画面のキャストをオンにしたのか、それとも他の理由でオンにしたのかわかりません。ユーザーがアプリに入る前に他の理由でそれを行っていた場合、アプリがユーザーを離れるときに切断するのは適切ではありません。同意しますか?

于 2015-04-08T04:26:24.820 に答える