私はこれについて多くの進歩を遂げており、ここで説明されているように、chromecast レシーバーに「見えないプレーヤー」を実装したいと考えていました: Deezer見えないプレーヤー
デモ アプリを実行していて、送信者から受信者にアクセス トークンを渡すことができ、トークンの有効期限が切れています。次のように DZ プレーヤーをインスタンス化します。
DZ.init({
appId : deezer_app_id,
channelUrl : deezer_channel_url,
player : {
onload : onPlayerLoaded,
token : {
accessToken:event.message.accessToken,
expire:event.message.expire
}
}
});
onPlayerLoaded 関数は、当分の間、メッセージをログに記録するだけです。
私は現在取得しています:
Unsafe JavaScript attempt to access frame with URL http://mydomain/chrome/myreceiver.html from frame with URL http://www.deezer.com/es/plugins/player.php?channel=http://Mydomain/chrome/channel.php&app_id=IDVALUE&emptyPlayer=true. Domains, protocols and ports must match.
external-v00202097.js:40
FB.getLoginStatus() called before calling FB.init(). vb.js:56
Flash is not installed or is too old vb.js:56
Unsafe JavaScript attempt to access frame with URL http://mydomain/chrome/myreceiver.html from frame with URL http://static.ak.facebook.com/connect/xd_arbiter.php?version=27#channel=f3a…Ffb_xd_fragment%23xd_sig%3Df2d6a19d8%26&origin=http%3A%2F%2Fwww.deezer.com. The frame requesting access set 'document.domain' to 'facebook.com', but the frame being accessed did not. Both must set 'document.domain' to the same value to allow access.
xd_arbiter.php:18
Unsafe JavaScript attempt to access frame with URL http://Mydomain/chrome/myreceiver.html from frame with URL https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=27#channel=…Ffb_xd_fragment%23xd_sig%3Df2d6a19d8%26&origin=http%3A%2F%2Fwww.deezer.com. The frame requesting access has a protocol of 'https', the frame being accessed has a protocol of 'http'. Protocols must match.
channelURL を同じドメインに設定しているため、最初のものは意味がありません。インスペクターを見て、 channelURl と chrome キャスト レシーバーの両方で同じ document.domain があることを保証できます。
2 番目のエラーは、フラッシュに何かをロードしている deezer によるものと思われます (この例ではフラッシュに何も記述されていないので奇妙です)。
3 番目のエラーは、何らかの理由で deezer が FB を呼び出すことです。
Iframe を介した YouTube API が chromecast で動作するように作成されていることは知っているので、これは可能だと思いますが、フラッシュの問題とクロス ドメインが問題のようです。
何かアドバイス?