如何在静音的 UIWebView 中播放 youtube 视频? [英] How to play youtube video in UIWebView muted?

查看:28
本文介绍了如何在静音的 UIWebView 中播放 youtube 视频?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 iOS 9 for iphone 上使用 UIWebView 播放嵌入的 YouTube 视频.

I am using UIWebView to play an embedded youtube video, on iOS 9 for iphone.

但是,由于已知问题,音量控制不起作用,即调用 player.mute() 或 player.setVolume(0) 根本不起作用:https://github.com/youtube/youtube-ios-player-helper/issues/20

However, due to a known issue, the volume control is not working, i.e. calling player.mute() or player.setVolume(0) doesn't work at all: https://github.com/youtube/youtube-ios-player-helper/issues/20

我想知道是否有人成功解决了这个问题?你能分享一下你的方法吗.

I am wondering if anyone has successfully worked around this? Could you share your method.

我正在使用的示例嵌入 html:

The sample embedded html I am using:

    <html><body style='margin:0px;padding:0px;'>  
    <script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>
    var player;
    function onYouTubeIframeAPIReady()
    {player=new YT.Player('playerId',{events:{onReady:onPlayerReady}})}
    function onPlayerReady(event){player.mute();player.setVolume(0);player.playVideo();}
    </script>
    <iframe id='playerId' type='text/html' width='1280' height='720' 
src='https://www.youtube.com/embed/R52bof3tvZs?enablejsapi=1&rel=0&playsinline=1&autoplay=1&showinfo=0&autohide=1&controls=0&modestbranding=1' frameborder='0'>
    </body></html>

谢谢!

推荐答案

首先你不能设置音量使用 javascript check 本文档 并阅读音量控制JavaScript 部分.在这里找到.

First of all you cannot set the volume using javascript check this doc and read Volume Control in JavaScript section. Found here.

第二次我尝试了这个:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(playerItemBecameCurrentNotif:)
                                             name:@"AVPlayerItemBecameCurrentNotification"
                                           object:nil];


- (void)playerItemBecameCurrentNotif:(NSNotification*)notification {
    AVPlayerItem *playerItem = notif.object;
    AVPlayer *player = [playerItem valueForKey:@"player"];
    [player setVolume:0.0];
}

这似乎在模拟器中运行良好.但是,此方法使用了一些私有属性.使用风险自负 ;) 并且不要忘记删除观察者.

This seems to be working fine in simulator. However this method is using some private properties. Use at your own risk ;) and don't forget to remove observer.

这篇关于如何在静音的 UIWebView 中播放 youtube 视频?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆