使用javascript创建一个带有警报声音的倒计时计时器

Create a countdown timer using javascript with alarm sound

本文关键字:有警 声音 计时器 倒计时 一个 创建 javascript 使用      更新时间:2023-09-26

我正在尝试创建一个简单的倒计时计时器,将在结束时播放警报声音(这将是一个食谱网站)。我找到了一个简单的倒计时计时器的脚本,但我在执行警报声音结束时遇到了麻烦。我试图使用SoundManager2的报警声音。我是编程新手,所以任何提示都会有所帮助!

谢谢! !

这是我的倒计时脚本:

function countdown( elementName, minutes, seconds )
{
    var element, endTime, hours, mins, msLeft, time;
    function twoDigits( n )
    {
        return (n <= 9 ? "0" + n : n);
    }
    function updateTimer()
    {
        msLeft = endTime - (+new Date);
        if ( msLeft < 1000 ) {
            mySound.play();
            //element.innerHTML = "countdown's over!";
        } else {
            time = new Date( msLeft );
            hours = time.getUTCHours();
            mins = time.getUTCMinutes();
            element.innerHTML = (hours ? hours + ':' + twoDigits( mins ) : mins) + ':' + twoDigits( time.getUTCSeconds() );
            setTimeout( updateTimer, time.getUTCMilliseconds() + 500 );
        }
    }
    element = document.getElementById( elementName );
    endTime = (+new Date) + 1000 * (60*minutes + seconds) + 500;
    updateTimer();
}
countdown( "countdown", 0, 15 );

您正在使用mySound.play(),但我看不到任何声音文件加载。使用SoundManager,你必须首先"创建"一个声音对象,然后再使用play方法。sm2文档中的一个简单示例:

var mySoundObject = soundManager.createSound({
 id: 'mySound',
 url: '/audio/mysoundfile.mp3'
});
mySoundObject.play();

如果你想在iPhone或iPad上运行这个可能性,你应该在播放后调用mysoundoobject .destruct()。否则你可能在第一次播放后什么也听不到。