如何在静音的 UIWebView 中播放 youtube 视频?
How to play youtube video in UIWebView muted?
我在 iOS 9 上使用 UIWebView 播放嵌入式 youtube 视频 iphone。
但是,由于一个已知问题,音量控制不起作用,即调用 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:{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 设置音量,检查 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];
}
这似乎在模拟器中运行良好。但是,此方法使用了一些私有属性。使用风险自负 ;) 并且不要忘记删除观察者。
我在 iOS 9 上使用 UIWebView 播放嵌入式 youtube 视频 iphone。
但是,由于一个已知问题,音量控制不起作用,即调用 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:{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 设置音量,检查 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];
}
这似乎在模拟器中运行良好。但是,此方法使用了一些私有属性。使用风险自负 ;) 并且不要忘记删除观察者。