ソフトを作ってヘルプ音声ボタンを追加しています。OnClick で画像の変化(サウンドオン)を取り込み、サウンドを開始します。オーディオが終了すると画像が変わる(サウンドオフ)ように設定されたタイムアウトを追加しましたが、開始して停止するとタイムアウトが停止せず、もう一度押すと時間前に画像が変更されるという問題があります
主な問題は、ボタンを押してサウンドを開始し、もう一度押すと停止することです (サウンドが終了する 5 秒前に停止します) もう一度クリックして開始すると、オーディオが停止する 5 秒前に画像が変わります。
jQuery ではなく、Javascript コードが必要です。
2 画像 | soundon.png と soundoff.png と
1 つのオーディオ | helpsound.mp3
コードは次のとおりです。
ジャバスクリプト
var clickNumber = 2;
function sound(soundfile) {
image = document.getElementById('snd')
switch (clickNumber) {
case 1:
document.getElementById('snd').src = "images/soundoff.png";
document.getElementById("dummy").innerHTML= "";
clickNumber = 2;
return(false);
case 2:
document.getElementById('snd').src = "images/sound.png";
document.getElementById("dummy").innerHTML="<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\"/>";
setTimeout
(
function()
{
document.getElementById('snd').src = "images/soundoff.png";
},10000
);
clickNumber = 1;
break;
}
}
HTML
<img src="images/soundoff.png" title="Turn On/Off Help Speech" onclick="sound('helpsound.mp3');" name="soundimg" id="snd">