OGeek|极客世界-中国程序员成长平台

标题: ios - 如何在 UIWebView 中播放 youtube 视频静音? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 13:34
标题: ios - 如何在 UIWebView 中播放 youtube 视频静音?

我正在使用 UIWebView 在 iOS 9 for iphone 上播放嵌入的 youtube 视频。

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

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

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

    <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:{onReadynPlayerReady}})}
    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>

谢谢!



Best Answer-推荐答案


首先你不能使用javascript检查设置音量this doc并阅读 JavaScript 中的音量控制 部分。 Found here .

第二次我尝试了这个:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selectorselector(playerItemBecameCurrentNotif
                                             name"AVPlayerItemBecameCurrentNotification"
                                           object:nil];


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

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

关于ios - 如何在 UIWebView 中播放 youtube 视频静音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37290108/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4