問題タブ [chromecast]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - chromecast はどのように chrome 送信者に接続し、セッション変数をインクリメントしているように見えるのはなぜですか?
Chrome 送信者と ChromeCast の間で正常に接続されているため、両者の間でメッセージを適切に送受信できますが、送信者が接続するたびに、セッション変数であると推測されるものを増やしながら新しい接続を作成します: ws ://localhost:8008/session?x 、ここで x は増加する数値です。
私は2つのことを知りたいです:
接続ごとにセッション変数をインクリメントするのはなぜですか? 設計によるものですか?または、接続を適切に閉じることができませんか? 私が見ることができることから、接続はデフォルトでクローズイベントを送信しますが、間違っている可能性があります。
セッションが意図的に更新された場合、以前のセッションを検出し、一方がまだアクティブな場合にそれらに接続する方法はありますか?
編集: Chrome 送信 API が Android TicTacToe デモ アプリケーションで説明されている複数の接続シナリオをサポートしていないことは理解していますが、質問の目的は、この「セッション」変数が特定のポイントまでインクリメントされると、YouTube などの他のアプリケーションになるためです。 Android アプリは、WebSocket 接続の遅延が原因と思われる不規則な実行を開始します。この接続が増加している理由を知りたいです。私のテストでは、これは純粋に設計によるものであり、各クライアントが ChromeCast への一意の接続を取得するようにする可能性があります (つまり、以下に示す複数のコントローラーのシナリオを防ぐため)。
google-cast - カスタム レシーバーで "ramp" 名前空間を使用するにはどうすればよいですか? またはサンプル アプリを変更して、RAMP のサポートを書き直さずにカスタム名前空間を使用できますか?
RAMP プロトコルのサポート (Android の MediaProtocolMessageStream または iOS の GCKMediaProtocolMessageStream ) を書き直すことなく、カスタム レシーバーが "ramp" 名前空間を使用する方法、またはサンプル アプリを変更してカスタム名前空間を使用する方法を教えてください。
Android または iOS の Chromecast サンプル アプリを、dash.js に基づくカスタム レシーバーと通信させることができませんでした (Javascript を介して MPEG DASH を再生するための参照クライアント実装 - https://github.com/Dash-Industry-フォーラム/dash.js )。これは、Android / iOS Chromecast SDK で「ramp」の名前空間がハードコードされている ( final const ) ことと、dash.js レシーバーが何らかの理由で「ramp」の名前空間を使用できないことが原因のようです ( http:// www.digitalprimates.net/author/tapper/2013/08/27/chromecast_dash/ )
デフォルトでdash.jsが使用する名前空間を使用すると、ChromeのJavascript送信者からMPEG-DASHをうまくキャストできます。Android または iOS を介してカスタム レシーバーとやり取りしようとすると、Chromecast デバイスはレシーバー ページを正常にロードしますが、メディア URL を含むロード コマンドを受け取りません。これは、カスタム レシーバーが "ramp" (メディア再生の既定値) の名前空間を使用するように設定されている場合にも発生します。さらに、名前空間が "ramp" に設定されていると、カスタム レシーバーが Chrome で動作しなくなります。
google-cast - Chromecast レシーバー アプリ エラー: WebSocket が予期せず切断されました: 未定義
デスクトップ Chrome から Chromecast レシーバーに簡単なカスタム メッセージを送信できる、基本的な Chromecast アプリのセットアップを取得しようとしています。デバイスはホワイトリストに登録されており、アプリ ソースはホワイトリスト登録プロセス中に指定された URL に置かれています。さらに、正しい API_ID が使用されており、NAMESPACE は受信側と送信側のアプリで同じです。
受信アプリが読み込まれますが、その直後に次のようになります。
これにより、カスタム メッセージを Chromecast に送信できなくなっているようです。
送信側アプリから、デバイスを見つけて接続し、受信側アプリを起動できます。また、送信側で stopActivity() 呼び出しを適切に切断することもできます。
受信機の設定は次のとおりです。
Chromecast デバイスからの完全なログは次のとおりです (実際の appId は削除されています)。
この問題の助けをいただければ幸いです。ありがとう!
google-cast - Chromecast は現在 MPEG-DASH をサポートしていますか?
3 つの質問があります。投稿する前に答えを見つけようとしましたが、失敗しました。少しでも知っていることがあれば、短いコメントを残してください。
質問1
Chromecast は現在 MPEG-DASH をサポートしていますか? URLをMEPG-DASH MPD URLに置き換えて、MPEG-DASHストリームを再生するサンプルプログラム(Googleが提供するcast-chrome)をテストしました。しかし、デバイスはストリームを再生できません。MPEG-DASH が Developer Preview SDK で利用できるようになったことを知りたいです。または、最終的な SDK が利用可能になるまで待つ必要がありますか?
質問2
Chromecast は MPEG-DASH の MPEG2-TS コンテナ形式をサポートしていますか?
質問#3
WebM コンテナー形式は MPEG-DASH で使用できますか?
google-cast - cast.Api.loadMedia() のリクエスト タイムアウト
Chromecast をホワイトリストに登録し、送信側と受信側のアプリの開発を行っていました。
コールバックが 1 ~ 2 秒後に「リクエスト タイムアウト」を返すという奇妙な問題が発生し、さらに数秒後に Chromecast デバイスでメディアの再生が開始されました。
返されたステータス launchCallback は次のとおりです。
これは、Chromecast デバイスでのビデオの読み込み速度に応じて、散発的に発生します。しかし、タイムアウト (おそらく 1 ~ 2 秒) がすぐに発生するため、約半分の時間で失敗が返されます。ここで何か間違ったことをしていますか?
google-cast - サードパーティの Google Cast デバイス
Google Cast はサードパーティのレシーバー デバイス (DIAL ファースト スクリーン デバイス) に対応していますか、それとも ChromeCast が唯一のオプションのままですか? ChromeCast デバイスが不要になるように、SmartTV メーカーがキャスト プロトコルをネイティブにサポートすることを期待できますか?
開発者として、Google Cast デバイスになるには何を実装する必要がありますか?
google-cast - ChromeCast はビデオ専用ですか?
ChromeCast や Google Cast プロトコルは、ビデオ以外のアプリを実行できますか?
つまり、ChromeCast で動作し、スマートフォン/タブレットで制御される html5 アプリを作成することは可能ですか?