0

ページの読み込み時にオーディオ プレーヤーがオーディオ ファイルを再生するときに、Firefox v20.0 で初めて "play" または "playing" イベントを発生させることができないようです。

一時停止をクリックしてから再生をクリックすると、「再生」イベントと「再生中」イベントの両方が発生しますが、最初のページの読み込みでは発生しません。

以下のようにバニラJSを使用して「再生」/「再生」イベントにバインドしようとしましたが、jQueryのbind()メソッドを使用してみましたが、役に立ちませんでした.

は Chrome v26.0.1410.64 および IE 10 で正常に動作するようです。これは Firefox のバグですか?

// HTML
// ---------------------------------------------------
<audio controls="" preload="auto" autobuffer autoplay>
    <source src="bc.ogg" type='audio/ogg'>
</audio>


// JS
// --------------------------------------------
// Assume player is <audio>

player.addEventListener('playing', function() {
    console.log('PLAY');
});

私の最終目標は、オーディオの再生中にカスタム再生ボタンを一時停止ボタンに置​​き換えることです。

4

1 に答える 1

2

オーディオ要素は、リスナーがバインドされる前に再生を開始している可能性があります。これは、DOM の構築方法と処理方法の内部的な違いにより、一部のブラウザーで発生する可能性があり、他のブラウザーでは発生しない可能性があります。最善の解決策は、ページが完全にロードされたらリスナーをバインドし、オーディオ要素を再生することです。ブラウザが必要なときにオーディオ要素を開始することに依存するのではありません。

于 2013-04-09T21:25:13.997 に答える