私は周りを見てきましたが、これは不可能であることを心配し始めています。適切なオンロード<audio>
<audio>
<source src='song.ogg' type='audio/ogg'></source>
<source src='song.mp3' type='audio/mp3'></source>
</audio>
フォールバックを標準<audio>
タグを作るためにどのような方法がありますが... ... onloadイベントがあります。私は周りを見回しましたが、私が見つけられるのは、うまく動作しないかもしれないハック(Chromeでは私にとってはそうでない)とcanplaythrough
イベントです。
私がこれをしたいのは、ある時点で多くのオーディオクリップを再生するプレゼンテーションを作っているからです。すべてのオーディオが読み込まれるまでプレゼンテーションを開始しないようにします(そうしないと、同期が外れる可能性があります)。私は一度に1つのクリップをロードして、一種のローディングバーを作成することができます。純粋なウェブ技術を実証することになっているので、Flashサウンドを使用することに頼るのは本当に嫌です。
基本的に私はloadAudio
という機能を持っていて、ロードするオーディオファイルの配列を循環します。audioQueue
。 loadAudio
が一度呼び出された後、すべてのファイルがロードされるまで呼び出されます。 問題次のファイルの読み込みをトリガーする正しいイベントが見つかりませんでした。
loadAudio = function(index)
{
mer = audioQueue[index];
var ob = "<audio id='" + mer + "'><source src='resources/sounds/" + mer + ".ogg' type='audio/ogg'></source><source src='resources/sounds/" + mer + ".mp3' type='audio/mp3'></source></audio>";
$("#audios").append(ob);
$("#" + mer).get(0).addEventListener('A WORKING EVENT RIGHT HERE WOULD BE NICE', function() { alert("loaded");
if (index + 1 < audioQueue) { loadAudio(index + 1); } }, false);
}
So。適切なオーディオ・オンロードが可能ですか?私は基本的にHTMLとJavascriptのすべてであれば、基本的に何かをしたいと思っています。
は同じ問題を抱えていましたしばらく前に、参照してください:http://stackoverflow.com/questions/9332167/preload-audio-files-eventちょうど画像部分を "ストリップ"します。 – m90
@ m90ああ、完璧に動作します。それを答えに変えて、正しいものにすることができますか? – Pinpickle
[Preload Audio Files/Event?](http://stackoverflow.com/questions/9332167/preload-audio-files-event) – Daniel