質問のタイトルがあまり意味をなさないことは知っていますが、それをより適切に表現する方法は考えられません。私はjQueryの初心者であり、このコードを使用してフェードインし<div>
、サウンドを再生しています。
$(document).ready(function(){
$('#speech').fadeIn('medium', function() {
play('msg_appear');
var sptx = $('<p class="stext">').text('There is nothing here.');
$('#speech').append(sptx);
$('.stext').typeOut({marker: '', delay: 22});
});
});
このコードは正常に実行されますが、フェードインが完了した後にサウンドが再生されます。フェードイン中に再生したかったので、次のようにplay()
フェードイン関数の外に呼び出しを配置してみました。
$(document).ready(function(){
play('msg_appear');
$('#speech').fadeIn('medium', function() {
ただし、現在はまったく再生されていません。JavaScriptコンソールにはエラーがないので、それが構文エラーであるかどうかはわかりませんが、おそらく明らかなことですが、何が原因かわかりません。
play()
は私がオーディオを再生するために見つけた機能です、ここにそれがまったく重要であるかどうかです。上記のコードと同じファイルに配置しました。の真上$(document).ready()
。
function play(sound) {
if (window.HTMLAudioElement) {
var snd = new Audio('');
if(snd.canPlayType('audio/ogg')) {
snd = new Audio(sound + '.ogg');
}
else if(snd.canPlayType('audio/mp3')) {
snd = new Audio(sound + '.mp3');
}
snd.play();
}
else {
alert('HTML5 Audio is not supported by your browser!');
}
}