我已经设置了一个IceCast2服务器,它能够以192 kbps的速度传输ogg或mp3。
在我使用的html中:
<audio controls autoplay>
<source src="http://site.com:8000/mount1.ogg" type="audio/ogg">
<source src="http://site.com:8000/mount2.mp3" type="audio/mp3">
Your browser does not support the audio element.
</audio>
但是每次新歌开始时,在Chrome 22 / Firefox 13中,播放器都会停止播放。在IE10中它继续播放没有任何问题。我认为这可能与Chrome和Firefox在IE使用mp3时使用ogg源这一事实有关。当播放192 kbps(听到音乐时)时,Opera 12似乎也存在问题,我切换到128然后它能够流畅地工作。
任何人都知道修复此问题吗?
感谢您的帮助!
答案 0 :(得分:4)
将此作为临时黑客发布,直到有人给出更好的答案。
在Chrome中,当播放停止时会抛出MEDIA_ERR_DECODE
,而在Firefox中它会停止而没有任何错误。
我将src
更改为currentSrc
,然后在play()
和onerror
事件中调用onended
,但声音有时会在恢复播放前中断。必须有更好的方法。
/* jQuery - run on document ready */
$(function ()
{
var audioElement = $('#audioPlayer')[0];
audioElement.onended = audioElement.onerror = function()
{
audioElement.src = audioElement.currentSrc;
audioElement.play();
};
});
答案 1 :(得分:-1)
你没有必要做上面提到的那么多事情^我在你的代码中看到的唯一问题是你刚写了自动播放。你必须使它成为autoplay = true;