0

ページに埋め込まれた非表示の QuickTime オブジェクトを JavaScript で制御しようとしていますが、機能していません。オブジェクトは次のようになります。

<object id="myPlayer" data="" type="audio/mpeg" pluginspage="http://www.apple.com/quicktime/download" width="0" height="0">
    <param name="autoPlay" value="false" />
    <param name="controller" value="false" />
    <param name="enablejavascript" value="true" />
</object>

レンダリング時に読み込まれる URL がわからないため、 data パラメータには何もありません。私は次のように設定しました:

var player = document.getElementById("myPlayer");
player.SetURL(url);

オーディオは後で次のように再生されます。

player.Play();

Firefox 3.0.3 は JavaScript コンソールでエラーを生成しませんが、Play()が呼び出されたときに再生が行われません。Safari 3.0.4 では、コンソールに次のエラーが表示されます。

"Value undefined (result of expression player.SetURL) is not object."

Internet Explorer 7.0.5730.11 では、次の非常に役立つエラー メッセージが表示されます。

"Unspecified error."

私のマシンには QuickTime バージョン 7.4 がインストールされています。Apple のドキュメントにはそれSetURL()が正しいと書かれているのに、なぜ機能しないのでしょうか?

4

3 に答える 3

1

オブジェクト要素に幅と高さ(1px x 1px)を与えて、JavaScriptを介してプラグインと通信しようとするときに、ビューポート内に表示されるようにしてください。

プラグイン領域が画面に表示されていない場合、JSコマンドに応答しないことに気づきました。

これは、これがIEで機能しない理由を説明している可能性があります。

SafariとOperaは機能するはずですが、FireFoxには間違いなくNetscapeスタイルの埋め込み要素が必要であり、実際には両方を提供する必要があります。さらに、両方を取得したら、どの要素(オブジェクトと埋め込み)をどのブラウザーでアドレス指定するかを確認する必要があります。

于 2009-01-17T05:26:00.780 に答える
0

私は QuickTime API を知りませんが、これは試してみる価値があるかもしれません:

player.attributes.getNamedItem('data').value = 'http://yoururlhere';
于 2009-01-09T22:04:35.313 に答える
0

リンク先のページには、「データ」属性が記載されていません。OBJECT 内に EMBED と PARAM があり、EMBED の「src」属性に URL が含まれていますが、投稿した内容に EMBED が表示されません。

于 2009-01-09T22:06:19.037 に答える