iOS WKWebView 退出后停止播放音频/视频

1.注入使网页停止音频、视频播放的JS代码(Swift 4):

 1         let pauseJSString:String =
 2 """
 3 var videos = document.getElementsByTagName("video");
 4         function pauseVideo(){
 5             var len = videos.length
 6             for(var i=0;i<len;i++){
 7                 videos[i].pause();
 8             }
 9         }
10         var audios = document.getElementsByTagName("audio");
11         function pauseAudio(){
12             var len = audios.length
13             for(var i=0;i<len;i++){
14                 audios[i].pause();
15             }
16         }
17 """
18         let pauseJS:WKUserScript = WKUserScript.init(source: pauseJSString, injectionTime: WKUserScriptInjectionTime.atDocumentStart, forMainFrameOnly: true)
19
20         let userContentCtrl:WKUserContentController = WKUserContentController.init()
21         userContentCtrl.addUserScript(pauseJS)
22         conf.userContentController = userContentCtrl
23
24         webView = WKWebView.init(frame: CGRect.zero, configuration: conf)

2.退出前,调用暂停播放的JS函数(Swift 4):

    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)

        pausePlay()
    }
    /// 暂停播放网页内的音频、视频
    func pausePlay(){
        mWebView.evaluateJavaScript("pauseVideo()") { (data, error) in
        }
        mWebView.evaluateJavaScript("pauseAudio()") { (data, error) in
        }
    }


Ficow原创,转载请注明出处:http://www.cnblogs.com/ficow/p/7637922.html

原文地址:http://www.cnblogs.com/ficow/p/7637922.html

时间: 2024-10-06 09:48:15

iOS WKWebView 退出后停止播放音频/视频的相关文章

WebView中音视频自动播放与退出时停止播放

背景: 项目需求是进入页面自动播放音频或者视频(非本地资源),页面关闭时音频或视频关闭.现在实现情况是:自动播放功能在有些手机上可以自动播放并有声音,有的手机上也播放但没有声音,当用户点击或者产生触发条件下才会有声音:退出关闭当前Activity,音频或视频并没有关闭,还在播放. 解决方法: 1.Activity退出时关闭音频或视频 重写Activity的onDestroy()方法,在方法里添加webView.destroy()方法. @Override protected void onDes

ios微信上无法自动播放音频的情况

今天做个html5需要自动播放音频,发现在ios下autoplay="autoplay"是失效的 就想着强制用js强制播放 document.getElementById('music').play(); 发现并没有用 加上这段代码后才有作用 document.getElementById('music').play(); document.addEventListener("WeixinJSBridgeReady", function () {//监听微信准备就绪

IOS中录音后无法播放游戏音效

原因是在录音的时候AVAudioSession 的category 设置成AVAudioSessionCategoryRecord, 在结束录音时设置成了 AVAudioSessionCategoryAmbient.

HTML5媒体(音频/视频)

摘要: 在HTML5出现之前,web媒体大部分通过Flash来实现.这种方式造成了文件大加载慢,影响网站性能,开发难度高,维护麻烦,不易扩展等.这就导致HTML5自己开始支持媒体功能.HTML5 DOM 为 <audio> 和 <video> 元素提供了方法.属性和事件. 浏览器: 从IE9已经开始支持audio和video标签. Audio: <audio> 标签定义声音,比如音乐或其他音频流. 音频格式:    IE9  Firefox3.5  Opera10.5

iOS 音频视频制作

--iOS多媒体 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像头的操作都提供了多套API.在今天的文章中将会对这些内容进行一一介绍: 音频 音效 音乐 音频会话 录音 音频队列服务 视频 MPMoviePlayerController MPMoviePlayerViewController AVPlayer 摄像头 UIImagePicker

从零开始学android&lt;Mediaplayer播放器组件(播放音频).四十八.&gt;

在win计算机中播放视频和音频往往会使用到计算机当中的windowsMediaPlayer播放器,而在Android中则同样会使用mediaplayer播放器对音频和视频进行播放. 下图是mediaplayer的生命周期 dle状态:当使用关键字new实例化一个MediaPlayer对象或者是调用了类中的reset()方法会进入到此状态: End状态:当调用release()方法之后将进入到此状态,此时会释放掉所有占用的硬件和软件资源,并且不会再进入到其他的任何一种状态了: Initialize

Android[安德鲁斯] 文本Air Video 远程播放电脑视频

苹果iOS下列.目前应用Air Video,能力iOS由Wifi远程直接播放电脑视频,无需看视频复制到手机.非常好用!最近使用Android打电话.展望类别似应用,找了很长一段时间没有找到.在仔细的思考AirVideo工程,视频站点类似,在Android以下应该也能够有类似的方法实现. 今日在华为荣耀6上面最终验证通过了一个完美的方案.赶紧放上来和有相同须要的朋友们分享分享. 先说一下Air Video的工作原理: 1) 在Windows以下安装Air Video Serverserver,并设

HTML5音频视频总结

音频格式 视频 音频 ogg ogg mp4 mp3 webm wav video标签属性 属性 值 作用 controls controls HTML5 默认视频样式 autoplay autoplay 自动播放属性 loop loop 循环播放 poster 图片路径 设置视频初始背景图片 video的API方法  play()  开始播放音频.视频  pause()  暂停播放  RequestFullScreen() 全屏模式 mozRequestFullScreen() moz内核 w

流式存储音频/视频

流式存储音频/视频 1.1.下载文件的传统方法: 传统的浏览器从服务器下载音频/视频文件: ① 用户从客户机(client machine)的浏览器上用 HTTP 协议向服务器请求下载某个音频/视频文件. ② 服务器如有此文件就发送给浏览器.在响应报文中就装有用户所要的音频/视频文件.整个下载过程可能会花费很长的时间. ③ 当浏览器完全收下这个文件后,就可以传送给自己机器上的媒体播放器进行解压缩,然后播放. 1.2.具有元文件的万维网服务器 元文件就是一种非常小的文件,它描述或指明其他文件的一些