首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用web音频API到后台的iOS6 6/7停止声音

使用web音频API到后台的iOS6 6/7停止声音
EN

Stack Overflow用户
提问于 2013-12-09 13:58:30
回答 2查看 1.1K关注 0票数 2

当您转到iPhone或iPad中的背景和声音连续播放时,有不同的解决方案,其中大部分用于HMTL5音频标签,但如果您使用Web,则与此无关,因为没有像“时间更新”这样的事件,当然,这是一个不同的概念。只有当您更改选项卡时,页面可见性API才能在iOS7中工作,但如果您转到后台,则不会在iOS6中工作。

有人知道使用网络音频API来停止/静音的方法,如果您转到iOS6或iOS7的背景中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-15 16:24:03

要检测safari何时进入后台,可以使用名为pageshowpagehide的窗口事件(但您已经发现了这一点)。

代码语言:javascript
复制
document.addEventListener('pageshow',function(){
    // Do something here
}, false);

document.addEventListener('pagehide',function(){
    // Do something here
}, false);

还可以使用PageVisibility API (可从iOS7开始使用)检查选项卡是否已更改。

代码语言:javascript
复制
document.addEventListener('visibilitychange', function(){
    if (document.hidden) {
        // Tab out of focus
    }
    else {
        // Tab on focus
    }
},false);

请注意,自iOS7以来,这段代码应该在safari上工作,但是有些浏览器需要前缀。

票数 1
EN

Stack Overflow用户

发布于 2013-12-09 14:36:04

自动解决80%。这些是当您转到后台时触发的唯一事件,然后返回到Safari,在两个iOS上都进行了测试。

代码语言:javascript
复制
 window.addEventListener("pageshow", function(evt){ 
    //fooBarCode
 }, false);
 window.addEventListener("pagehide", function(evt){ 
   //fooBarCode 
}, false);

这只在您进入后台时才能工作,但是当您更改选项卡不是一个有效的解决方案时,有什么想法吗?

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

https://stackoverflow.com/questions/20472442

复制
相关文章

相似问题

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