在我的iOS应用中播放Youtube视频时出错

时间:2013-12-03 18:34:38

标签: iphone objective-c youtube ios7 youtube-api

我需要在我的iOS应用中播放YouTube视频。我正在通过youtube api获取YouTube视频链接。我在列表中播放少量视频时收到错误消息是这样的。“此视频包含来自WMG的内容。禁止在某些网站上播放观看在YouTube上观看” 。像McTube这样的应用播放所有类型的YouTube视频。我的应用中没有播放的视频是在MCTube应用中播放的。如何在我的应用中播放所有格式的YouTube视频?

我的代码:

embedHTML12345 =[NSString stringWithFormat:@"<html><body style='margin:0px;padding:0px;'><script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>function onYouTubeIframeAPIReady(){ytplayer=new YT.Player('playerId',{videoId: '%@',playerVars: {'enablejsapi':1,'rel':0,'playsinline':1 ,'autoplay': 1, 'controls': 0,'modestbranding':1,'wmode':'transparent','color':'white','theme':'light'},events:{onReady:onPlayerReady,'onStateChange': onPlayerStateChange,onError:onPlayerError}})}function onPlayerReady(a){  a.target.playVideo(); }function onPlayerStateChange(e){if(e.data==YT.PlayerState.PAUSED){ytplayer.playVideo();}if(e.data==YT.PlayerState.ENDED){window.location=\"ios:webToNativeCall\";}}function onPlayerError(d){window.location=\"jos:webToErrorCall\";}</script><iframe id='playerId' type='text/html' width='320' height='270' src='http://www.youtube.com/embed/%@?enablejsapi=1&modestbranding=1&wmode=transparent&color=white&showinfo=0&rel=0&playsinline=1&autoplay=1&controls=0&theme=light&startSeconds=%@&endSeconds=%@' frameborder='0'></body></html>",videoId, videoId,popular.startStr,popular.endStr];

[YTV_WebView loadHTMLString:embedHTML12345 baseURL:[[NSBundle mainBundle] resourceURL]];

enter image description here

1 个答案:

答案 0 :(得分:1)

这既不是您的代码错误,也不是YouTube的错误。视频设置为仅在youtube.com上播放,不能嵌入包括UIWebView在内的外部网站。