ボタンをクリックすると音が鳴るウェブサイトがあります。
これが私のやり方です
function PlaySound(soundfile) {
$('#soundContainer').html("<embed src='/uploads/sounds/" + soundfile + "' hidden=true autostart=true loop=false>");
}
サウンドファイルを事前にどのようにプリロードしますか?
ありがとうございました。
頭のてっぺんに考えて、サウンドファイルのajaxリクエストを作成できますが、ファイルが100%読み込まれるまでボタンを表示しないでください。
$(document).ready(function() {
$.ajax({
url: "soundfile.mp3",
success: function() {
$("#play_button").show();
}
});
});
次のようにHTML5でこれを行います。
my_sound = $("<audio>", {src:"filename.mp3",preload:"auto"}).appendTo("body");
次にそれを再生するには:
my_sound[0].play();
JavaScriptでサウンドを再生するためのより良い方法はたくさんあります。私のお気に入りについては、 SoundManagerをチェックしてください。これを使用すると、単に呼び出しsoundManager.load
てサウンドファイルをプリエンプティブにロードできます。
それにAJAXリクエストを行います。サーバーが適切なキャッシュヘッダー(Expiresなど)を発行した場合、それはブラウザのキャッシュに保存されます。
醜い方法:
soundfile = new Image(); soundfile.src = / uploads / sounds / "+ soundfile;
のようなものはありません<embed>
。
なしでHTML5<audio>
要素を使用し、autoplay
後でそのplay()
メソッドでの再生を開始することができます。