如何使用我的流整理加载延迟? phonegap build

时间:2013-09-03 11:43:56

标签: javascript jquery html5 cordova phonegap-build

<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 build btw

1 个答案:

答案 0 :(得分:0)

我已经看到了一些这方面的报告,但从来没有一个可靠的答案。要检查的一件事是流服务器上的缓冲时间设置。可能是服务器端而不是客户端。

至于禁用播放按钮直到它实际上已经播放,请尝试:

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

如果&#34;播放&#34;事件发生得太早,你可以尝试其他事件监听器。请参阅此网址中的活动部分:http://www.w3schools.com/tags/ref_av_dom.asp