6

ユースケースは、ユーザーが iPhone から再生を開始し、iPad (両方とも私のアプリを実行している) を手に取り、この他の iOS デバイスから実行中のビデオに接続して制御したい場合です。

iOS では、レシーバー アプリのインスタンスが Google ChromeCast デバイスで既に実行されているかどうかを判断する方法がありません。セッションを作成すると、新しいプロトコル メッセージ ストリームをアタッチするしかないように思えます。

これは iOS クライアント側のフレームワークで処理されると思われますが、HTML レシーバー アプリでコーディングが必要になる可能性がありますか?

ありがとう。

4

2 に答える 2

6

アプリが実行されているかどうかを判断するには、API の外部に方法があります。ChromeCast IP アドレスのアプリ URL で HTTP GET を実行します: http://192.168.0.x:8008/apps/ HTTP 応答が 200 の場合、何も実行されていません。HTTP 応答が 204 の場合、アプリは実行中であり、HTTP 応答はhttp://192.168.0.x:8008/apps/GoogleMusicのような URL にリダイレクトされます。

どのアプリが実行されているかがわかります。

興味深いことに、Google Play Music は 2 台のデバイスで同時に制御できませんが、YouTube では制御できます。Play Music は、Cast SDK がメディア ストリームに対して行う RAMP を使用していると思われます。YouTube は、独自のメッセージ ストリームを使用してメディアの再生を制御している可能性があります。そのため、デバイス上のアプリを複数の送信アプリで制御したい場合は、同じことをしなければならない場合があります。

于 2013-08-16T02:38:41.217 に答える
2

1 つの方法は、セッションを開始した後、loadMedia() を開始する前に、playStatus を確認することです。アプリが既に実行されている場合は、非 nil (つまり、IDLE、PLAYING、...) の結果を返す必要があります。

于 2013-08-15T15:56:29.867 に答える