sle*_*rfx 7 youtube objective-c ios
我想在我的应用程序中浏览一个Youtube视频.但通常的技术是,我们在UIWebView中嵌入了一个YouTube视频,当用户点击时,它会自动在MPMoviePlayerController中启动.但这将全屏启动.如何在MPMoviePlayerController中播放此YouTube视频而无需全屏播放.我想在屏幕的一半显示这个.
有几种方法可以做到这一点.
除了设置
videoView.allowsInlineMediaPlayback = YES;
Run Code Online (Sandbox Code Playgroud)
最简单和最脏的方法是禁用这样的控件:
一个)
v1) Javascript代码(注意controls:0):
...
player = new YT.Player('player',
{ width:'100%', height:'50%', videoId:'[your video id]',
playerVars: {
controls:0,
rel:0, modestbranding:1, html5:1, showinfo:0
}
Run Code Online (Sandbox Code Playgroud)
...
v2) HTML嵌入iFrame代码(注意&controls=0和/或&playsinline=1):
...
<iframe id="ytplayer" type="text/html" width="100%" src="http://www.youtube.com/[your_video_id]?autoplay=1&controls=0&playsinline=1&modestbranding=1&rel=0&showinfo=0&autohide=1&html5=1" webkit-playsinline frameborder="0"></iframe>
Run Code Online (Sandbox Code Playgroud)
...
B)
你只需要添加&playsinline=1(或者playsinline:1在下面的Javascript案例中playerVars)此案例用户仍然可以全屏显示,但播放器应该在视图的边框中正常启动.
我希望这有帮助.
我正在使用UIView,它被定义为YTPlayerView播放视频.
我按照本教程:YouTube教程嵌入视频
我创建了一本字典.然后我将它添加到videoId定义(我正在播放的视频).
来自YouTube教程:
loadWithVideoId用以下代码替换:call:
Objective-C的
NSDictionary *playerVars = @{
@"playsinline" : @YES,
};
[self.playerView loadWithVideoId:@"M7lc1UVf-VE" playerVars:playerVars];
Run Code Online (Sandbox Code Playgroud)
Swift 2.1:
var playerVars = ["playsinline" : 1]
videoId.loadWithVideoId(["videoId"], playerVars: playerVars)
Run Code Online (Sandbox Code Playgroud)
这将在尝试播放视频时禁用全屏,并且还允许用户在需要时全屏显示.
希望能帮助别人.
您设置allowedinlinemediaplayback。但iPad上有这个功能。在 iPhone 中不适用。如果您尝试在 iPhone 上使用 uiwebview 播放视频,它将以全屏模式播放。

| 归档时间: |
|
| 查看次数: |
15358 次 |
| 最近记录: |