Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript iOS6/7使用web音频API停止声音进入后台_Javascript_Html_Ios6_Ios7_Web Audio Api - Fatal编程技术网

Javascript iOS6/7使用web音频API停止声音进入后台

Javascript iOS6/7使用web音频API停止声音进入后台,javascript,html,ios6,ios7,web-audio-api,Javascript,Html,Ios6,Ios7,Web Audio Api,当您在iPhone或iPad中进入后台并连续播放声音时,有不同的解决方案,其中大多数用于音频,但如果您使用的是Web Audio API,则这些解决方案并不相关,因为没有类似于“timeupdate”的事件,这当然是一个不同的概念。仅当您更改选项卡时才在iOS7中起作用,但如果您转到后台,则不起作用,在iOS6中根本不起作用 如果您在iOS6或iOS7中转到后台,有人知道使用Web音频API停止/静音声音的任何方法吗?自动解决80%。这些是在您进入后台时触发的独特事件,之后返回Safari,并在

当您在iPhone或iPad中进入后台并连续播放声音时,有不同的解决方案,其中大多数用于音频,但如果您使用的是Web Audio API,则这些解决方案并不相关,因为没有类似于“timeupdate”的事件,这当然是一个不同的概念。仅当您更改选项卡时才在iOS7中起作用,但如果您转到后台,则不起作用,在iOS6中根本不起作用


如果您在iOS6或iOS7中转到后台,有人知道使用Web音频API停止/静音声音的任何方法吗?

自动解决80%。这些是在您进入后台时触发的独特事件,之后返回Safari,并在两个iOS上进行测试

 window.addEventListener("pageshow", function(evt){ 
    //fooBarCode
 }, false);
 window.addEventListener("pagehide", function(evt){ 
   //fooBarCode 
}, false);

这只在您转到后台时有效,但当您更改选项卡不是有效的解决方案时,有什么想法吗

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

还可以使用()检查选项卡是否已更改

document.addEventListener('visibilitychange',function(){
if(document.hidden){
//制表符失焦
}
否则{
//焦点选项卡
}
},假);
请注意,这段代码应该可以在iOS7之后的safari上使用,但有些浏览器需要前缀。

最后,我将“pageshow”和“pagehide”与结合使用,效果非常好。谢谢
document.addEventListener('pageshow',function(){
    // Do something here
}, false);

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