0

我正在尝试创建一个简单的倒数计时器,它会在最后播放警报声(这将用于食谱网站)。我找到了一个简单倒数计时器的脚本,但是我在实现警报声时遇到了麻烦结尾。我正在尝试使用 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 );
4

1 回答 1

0

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

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

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

于 2012-12-27T23:08:14.187 回答