【问题标题】:HTML5, Javascript: Audio ended not workingHTML5,Javascript:音频结束无法正常工作
【发布时间】:2012-04-26 14:01:47
【问题描述】:

大家好,我为我的游戏构建了一个 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)
    }

好吧,实际的问题是他认为这些声音是瞬间完成的。我记录了我的声音的持续时间并且所有的都是 NaN?我已经用 console.log(oAudio.duration) 进行了检查。我不知道为什么会这样。我也有背景音乐,我的播放方式与这些声音相同,背景音乐没有错。

有人可以帮助我吗?

编辑:这是我的音频的音频标签:

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

【问题讨论】:

  • oAudio.duration 返回 NaN。但我认为它还没有完全加载,这就是为什么......还是谢谢!
  • 能否添加返回 NaN 的代码?我在任何地方都找不到 oAudio.duration。

标签: javascript html audio browser


【解决方案1】:

几周前发现的,当我调用它时,声音还没有完全加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 2023-03-27
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 2015-12-05
    相关资源
    最近更新 更多