美文网首页
iOS WebView播放视频、音频退出时停止播放

iOS WebView播放视频、音频退出时停止播放

作者: 似奔跑的野马 | 来源:发表于2018-10-29 17:14 被阅读0次

    问题:开发中使用webview播放视频,当视频播放到中间的时候?然后退出点击按钮退出webview,视频继续播放,如何处理?

    解决办法:1. 让webview调用一个about:blank的url。就可以停止视频播放。

    //或者点击pop 方法中调用
    - (void) viewDidDisappear:(BOOL)animated 
    { 
      NLog(@"媒体打开窗口被隐藏"); [webViewer loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
    }
    

    可以自行测试,打开网页看视频,中途退出弹出webview,视频可以停止播放。
    NOTE: about:blank 打开应该空白网页。

    2.页面退出的时候,直接暂停播放,调用js代码。

    //暂停视频播放
    [self.webView stringByEvaluatingJavaScriptFromString:
         @"var videos = document.getElementsByTagName('video');\
         for(var i = 0; i < videos.length;i++) {\
         videos[i].pause();\
         }"];
    //暂停音频播放
        [self.webView stringByEvaluatingJavaScriptFromString:
         @"var audios = document.getElementsByTagName('audio');\
         for(int i = 0; i < audios.lenght;i++) {\
         audios[i].pause();\
         }"];
    

    NOTE:获取对应标签数组元素的字符串,如 [object HTMLVideoElement]视频标签<video/>
    NSString *jsString = @"document.getElementsByTagName('video')[0].toString()";

    使用建议:

    1.到底使用哪个,如果你需要在当前网页播放音视频,同时又可以跳到其他页面(非返回),可以在当前网页退出时,暂停音视频播放,而不是打开应该空白页面。

    2.当webView.allowsInlineMediaPlayback = NO;打开一个新的页面播放视频,代码内部调用了pop方法,如果也需要此刻退出视频,可以通过about:blank关闭当前视频。

    相关文章

      网友评论

          本文标题:iOS WebView播放视频、音频退出时停止播放

          本文链接:https://www.haomeiwen.com/subject/lotitqtx.html