我正在为直播音频建立一个网站。它使用html音频元素和一些定制的javascript / jquery控件来停止缓冲区和更改暂停按钮。
在Android上,当播放铬音频时,通知中会出现一个播放暂停按钮。类似地,iOS设备在浏览器之外有媒体控件。
当用户按下这些控件时,play暂停命令将直接发送到音频元素(绕过我设置的控件)。
如何拦截这些命令并让它们调用我的自定义函数?
我的播放控件启动此功能:
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()
}
但正如您所预期的,这只会导致无限循环,因为play是在startAudio()中调用的。
对于上下文:在暂停时,音频源被移除,以防止在暂停时连续加载活动流。当再次启动时,通过向源url添加一个数字(每次递增)强制执行一个新的加载。有更好的方法吗?
发布于 2016-10-30 21:48:10
播放和暂停事件在这里为你。
audioElement.onplay = function() {
/* trigger your customs controls */
};
audioElement.onpause = function() {
/* trigger your customs controls */
};
来自pause.asp
https://stackoverflow.com/questions/40333935
复制相似问题