首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript -当用户按下移动通知控件的播放/暂停时,如何覆盖默认操作?

Javascript -当用户按下移动通知控件的播放/暂停时,如何覆盖默认操作?
EN

Stack Overflow用户
提问于 2016-10-30 21:42:49
回答 1查看 737关注 0票数 1

我正在为直播音频建立一个网站。它使用html音频元素和一些定制的javascript / jquery控件来停止缓冲区和更改暂停按钮。

在Android上,当播放铬音频时,通知中会出现一个播放暂停按钮。类似地,iOS设备在浏览器之外有媒体控件。

当用户按下这些控件时,play暂停命令将直接发送到音频元素(绕过我设置的控件)。

如何拦截这些命令并让它们调用我的自定义函数?

我的播放控件启动此功能:

代码语言:javascript
运行
复制
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;
}

我试过:

代码语言:javascript
运行
复制
audioElem.onplay = function() {
startAudio()
}

但正如您所预期的,这只会导致无限循环,因为play是在startAudio()中调用的。

对于上下文:在暂停时,音频源被移除,以防止在暂停时连续加载活动流。当再次启动时,通过向源url添加一个数字(每次递增)强制执行一个新的加载。有更好的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-30 21:48:10

播放和暂停事件在这里为你。

代码语言:javascript
运行
复制
audioElement.onplay = function() {
    /* trigger your customs controls */
};
audioElement.onpause = function() {
    /* trigger your customs controls */
};

来自pause.asp

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40333935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档