我试图在Cordova应用程序上使用
HTML5 Audio流式传输Shoutcast网址.
@H_502_2@我遇到的问题是:当音频流丢失与ShoutCast URL的连接时,似乎没有回调.在这个阶段,音频元素显示它正在播放音频,但没有音频.
@H_502_2@码
>断开互联网上的热点. @H_502_2@播放缓冲内容后,音频停止播放.但是没有回调指示连接丢失. @H_502_2@> media.networkState是2(NETWORK_LOADING)
> media.playbackRate为1(正常播放)
> media.readyState是4(HAVE_ENOUGH_DATA)
> media.preload是none @H_502_2@我尝试的回调(当连接丢失时没有触发)是: @H_502_2@>安装
onreset
> onsuspend
onerror
进度
正在等待 @H_502_2@问题 – 是否有音频回调,由于缺乏连接而无法播放音频时将触发? @H_502_2@如果没有,是否有任何方法将更新readyState或networkState?如果是这样,我可以设置一个定时器来检查这些值.
Radio = { initialized: false,isBuffering: false,interrupted: false,isPlaying: false,media: null,trackName: '',url: 'shoutcast_url',initialize: function () { if (!this.media) { this.media = new Audio(this.url); this.media.preload = "none"; this.media.onerror = function (e) { App.alert("Unable to connect to Radio"); Radio.interrupt(); }; this.media.onwaiting = function (e) { Radio.set_buffering(true); }; this.media.onplaying = function (e) { Radio.set_buffering(false); }; } },set_buffering: function (value) { ... }@H_502_2@脚本 @H_502_2@>连接到互联网(比如,通过热点)并启动音频收音机.
>断开互联网上的热点. @H_502_2@播放缓冲内容后,音频停止播放.但是没有回调指示连接丢失. @H_502_2@> media.networkState是2(NETWORK_LOADING)
> media.playbackRate为1(正常播放)
> media.readyState是4(HAVE_ENOUGH_DATA)
> media.preload是none @H_502_2@我尝试的回调(当连接丢失时没有触发)是: @H_502_2@>安装
onreset
> onsuspend
onerror
进度
正在等待 @H_502_2@问题 – 是否有音频回调,由于缺乏连接而无法播放音频时将触发? @H_502_2@如果没有,是否有任何方法将更新readyState或networkState?如果是这样,我可以设置一个定时器来检查这些值.