我正在组建一个用于直播音频的网站。它使用一个html音频元素和一些自定义的javascript / jquery控件来停止缓冲区并在暂停时更改按钮。
在Android上播放来自Chrome的音频时,通知中会出现播放暂停按钮。类似地,iOS设备在浏览器外部具有媒体控件。
当用户按下这些控件时,play-pause命令会直接发送到音频元素(绕过我设置的控件。)
如何截取这些命令并让它们调用我的自定义函数?
我的播放控件启动此功能:
function startAudio () {
// add number to get var to force fresh load each time
i++;
$("#audioPlayer").attr("src",source + "&nocache=" + i).trigger("play");
$("#playpause").removeClass('playing paused').addClass('loading');
audioPaused = false;
}
我试过了:
audioElem.onplay = function() {
startAudio()
}
但正如您所料,这只会导致无限循环,因为在startAudio()中调用了play。
对于上下文:暂停时,音频源将被删除,以防止在暂停时连续加载实时流。再次启动时,通过向源URL添加一个数字来强制执行新的加载(每次递增)。有更好的方法吗?
答案 0 :(得分:1)
播放和暂停活动就在这里。
audioElement.onplay = function() {
/* trigger your customs controls */
};
audioElement.onpause = function() {
/* trigger your customs controls */
};