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のドキュメントの1つの簡単な例:

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

iPhoneまたはiPadでこれを実行しないようにする場合は、再生後にmySoundObject.destruct()を呼び出す必要があります。そうしないと、最初のプレイ後に何も聞こえないでしょう。

于 2012-12-27T23:08:14.187 に答える