Jod*_*ner 3 jquery mobile-application html5-audio
我有一个播放广播电台的HTML5音频流的网络应用程序.我正在使用jQuery播放/暂停音频并切换播放/暂停按钮,如下所示:
var playerStream = document.getElementById('player-stream');
$('section.player').hammer().on('tap','button.toggle-stream', function(event){
if (playerStream.paused) {
playerStream.play();
$('button.toggle-stream').attr('data-icon','s');
}
else {
playerStream.pause();
$('button.toggle-stream').attr('data-icon','p');
}
});
Run Code Online (Sandbox Code Playgroud)
一切都很好.但是,在iPhone和iPad等设备上,您可以控制从网页外部播放的音频(例如双击主屏幕并单击播放/暂停).假设音频正在播放,应用程序外部我决定暂停流.当我返回实际的网络应用程序时,"暂停"按钮仍会显示并有效地执行任何操作,直到您点击两次以恢复流.应该真正发生的是暂停按钮返回'播放',所以这看起来很自然.
如何检测音频播放/暂停状态的变化并将其反映回应用程序?
这是来自W3C for HTML5视频的演示/测试页面,但我相信您的相关事件应该与音频相同http://www.w3.org/2010/05/video/mediaevents.html
所以你可以这样做:
$('audioplayer').on('pause', function() {
if (playerStream.paused) {
playerStream.play();
$('button.toggle-stream').attr('data-icon','s');
}
else {
playerStream.pause();
$('button.toggle-stream').attr('data-icon','p');
}
}
Run Code Online (Sandbox Code Playgroud)
然后为播放事件做同样的事情.
希望有所帮助
| 归档时间: |
|
| 查看次数: |
12361 次 |
| 最近记录: |