0
<audio id="stream" preload='none'>
        <source src="http://195.10.228.6:8035/canal.mp3" type="audio/mpeg">
        Your browser does not support the audio element.
    </audio>
    <a href="#" id="audioControl">play!</a>

<script>
var stream = document.getElementById('stream'),
ctrl = document.getElementById('audioControl');

ctrl.onclick = function () {

// Update the Button
var pause = ctrl.innerHTML === 'pause!';
ctrl.innerHTML = pause ? 'play!' : 'pause!';

// Update the Audio
var method = pause ? 'pause' : 'play';
stream[method]();

// Prevent Default Action
return false;
};
</script>

所以上面的代码可以正常工作,它允许我播放/暂停广播节目的直播。然而,唯一的问题/小问题与加载有关。您必须在应用程序打开加载后等待大约 10 秒,在此期间可以访问应用程序的所有功能。此外,如果您在流加载之前点击播放按钮,除非应用程序关闭并重新打开,否则它不会加载。我还没有尝试过刷新,因为我还没有内置该功能。所以我不确定这是否适用于应用程序。

基本上问题是我如何停止这种延迟?或者允许它在有人点击播放期间/之后加载?

顺便说一句,phonegap构建

4

1 回答 1

0

我看过一些关于此的报道,但从来没有一个可靠的答案。要检查的一件事是流服务器上的缓冲时间设置。可能是服务器端而不是客户端。

至于禁用播放按钮直到它实际上已经在播放,试试这个:

idOfYourAudioTag.addEventListener("playing", function() {
    //enable your button here
});

如果“正在播放”事件被触发得太早,您可以尝试其他事件侦听器。请参阅此 URL 中的事件部分:http: //www.w3schools.com/tags/ref_av_dom.asp

于 2013-09-03T12:21:19.233 回答