私の会社のFlash PlayerにJSONコマンドを送信しようとすると、JSON JavascriptからFlashへの通信の問題(ExternalInterfaceを使用):ハードコードされた文字列が機能します。そうでない場合は、
player.sendEvent("LOAD_PLAYLIST", json_str);
が、奇妙な部分は、私はFirebugの者にconsole.logを使用してコマンド全体を印刷する場合、それをコピーすることで、ペースト:次のコマンドを使用して - 何も起こりません - 基本的に、私はこのプレイヤーにプレイリストを渡すことができませんそれをコードに挿入する(プレイリストをハードコーディングする)ので、すべてが魅力的に機能します。
たとえば、次のコード:
player.sendEvent("LOAD_PLAYLIST", "{\"streams\": [{\"src\": \"rtmp:\/\/xxx.xxx.xx:80\/redirectvodxxx\/nas2.share\/h264\/512x384\/progname1\/prog_1_20110804.mp4\"},{\"src\": \"rtmp:\/\/xxx.xxx.xx:80\/redirectvodxxx\/nas2.share\/h264\/512x384\/progname2\/prog_2_20110804.mp4\"},{\"src\": \"rtmp:\/\/xxx.xxx.xx:80\/redirectvodxxx\/nas2.share\/h264\/512x384\/progname3\/prog_3_20110804.mp4\"}]}");
が
console.log('[loadNewListofContents] playing the following content list: player.sendEvent(\"LOAD_PLAYLIST\", ' + json_str.toString() + ');');
を使用して得られたと私はそれをハードコーディングすれば、それは働きます! 私は考えることができるすべてのtoString()トリックを試しました(例:json_str.toString()、 '"+ json_str.toString()+" "など)。
アイデア? ありがとうございます!
を与える必要がありますか? – Nek
申し訳ありませんが、私の悪い;私は思っていませんでしたが、私はプレイヤーのデベロッパーと話しただけで、私たちはそれを使っていると言いました。ちょうどタイトルを更新しました。 –
json_strにプレーヤに渡すときに適切なデータが含まれていることは間違いありませんか? – Nek