1

やあみんな私は私のゲームのためにAudioQueueを構築し、どういうわけかそれはうまくいきません、コード:

handleAction: function ( src )
    {
        var oAudio = document.getElementById('voice');

        if(this.lastSoundPlayed == undefined || src != this.lastSoundPlayed.src) // checks if there is an actual new sound incoming.
        {
            var self  = this;
            oAudio.src = src; //sets the source
            oAudio.load();
            oAudio.onloadeddata  = oAudio.play(); // when loaded play the sound
            oAudio.onended = self.soundDone( self, oAudio ); //when the sound is finished fire the soundDone function
        }
    }

soundDone()関数:

soundDone: function( self , oAudio )
    {
        console.log("Finished"); //logs that the sound is finished
        self.lastSoundPlayed = oAudio; //sets the lastSoundPlayed
        self.sendNotification(self.SC_ACTION_COMPLETE); //fires off a notification that the sound is finished (im using pureMVC)
    }

実際の問題は、彼が音が瞬時に完成したと思っていることです。iveは私のサウンドの持続時間を記録しましたが、すべてNaNですか?console.log(oAudio.duration)で確認しました。なぜこれが起こっているのかわかりません。私はこれらの音と同じように演奏するバックグラウンドミュージックも持っており、バックグラウンドミュージックでも問題はありません。

誰かが私を助けることができますか?

編集:これは私のオーディオのオーディオタグです:

<audio id="voice" src="mySound.mp3" controls preload="auto" ></audio>
4

1 に答える 1

0

数週間前にそれを見つけました、私がそれを呼んだとき、音は完全にロードされていませんでした。

于 2012-06-04T09:27:13.223 に答える