私は audio.js と呼ばれる javascript shim を使用して、Flash フォールバックで HTML5 オーディオを提供しています。現在、すべての最新のブラウザーと Android および iO で動作していますが、修正できないように見える問題が 1 つあります。それは、Firefox または Android で、トラックの終了時に発生するコールバックを使用すると、オーディオ。再生の最後でファイルがスタックします。
このプロジェクトは、各トラックの終了時に発生するコールバックに依存するロジックを持つスライドショーです。コールバックを使用しようとしている方法は次のとおりです。
audio.trackEnded=function() {
// operate on the DOM
}
そして、これは audio.js API からのビットです。
trackEnded: function(e) {
this.skipTo.apply(this, [0]);
if (!this.settings.loop) this.pause.apply(this);
this.settings.trackEnded.apply(this);
}
オーディオ ファイルをリセットする方法を理解するために API を掘り下げることはできませんでした。私が知っているのは、trackEnded関数に何を入れても、フラッシュが必要なブラウザーではファイルが最後にフリーズし、その関数を削除するとオーディオが正常にリセットされるということだけです。currentTime = 0; を設定して、オーディオ要素自体を操作しようとしています。全体を壊します。
スライドショーをクリックすると、音声がフリーズするデモが表示されます。
http://www.jontakiff.com/audio-playback/skeleton.html
これを解決する方法についての洞察は非常に高く評価されます。
編集: ここに audio.js API へのリンクがあります: http://kolber.github.com/audiojs/docs/