我在我正在制作的应用中有一个YouTubeView,我正在尝试禁用某些正在出现的视频控件,我看到另一个应用程序在只显示播放/暂停和全屏图标的情况下执行此操作。我渲染的一些视频非常小(200x150),因此擦除器没用,时间实际上是重叠的。
我正在使用的功能是:
- (YouTubeView *)initWithStringAsYouTubeId:(NSString *)idString frame:(CGRect)frame;
{
if (self = [super init])
{
self.frame = frame;
self.delegate = self;
// HTML to embed YouTube video
NSString *embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;\
color: transparent;\
}\
</style>\
</head><body style=\"margin:0\">\
<embed id=\"yt\" src=\"http://www.youtube.com/v/%@\" type=\"application/x-shockwave-flash\" \
width=\"%0.0f\" height=\"%0.0f\"></embed>\
</body></html>";
// Populate HTML with the URL and requested frame size
NSLog(@"%f", frame.size.height);
NSString *html = [NSString stringWithFormat:embedHTML, idString, frame.size.width, (frame.size.height*-1.0f)];
// Load the html into the webview
[self loadHTMLString:html baseURL:nil];
}
return self;
}
它加载并播放正常,但我只是想禁用擦除器和时间,我试过了?controls = 0没有运气。
干杯, 迪安
答案 0 :(得分:1)
为了能够隐藏滑块和其他控件,请移除<embed>
标记并将其替换为<iframe>
等效标记,如下所示(我使用您的参数/属性进行设置)示例代码):
<iframe id=\"yt\" type=\"text/html\" src=\"http://www.youtube.com/embed/%@?controls=0\" width=\"%0.0f\" height=\"%0.0f\" frameborder=\"0\"></iframe>
与'controls=0'
一起使用的 <iframe>
会为您隐藏控件。
在我对iOS嵌入式视频的简短体验中,似乎解决一个问题通常会导致以前工作正常的其他问题。例证:上面的示例隐藏了控件,但是会覆盖UIWebView左上角的视频标题。解决方案是将此用于您的视频参数列表:'?controls = 0&amp; showinfo = 0'
要查看“showinfo”参数及其他参数,请查看以下文档:https://developers.google.com/youtube/player_parameters#Parameters并非参数文档中的所有内容都适用于iOS <iframe>
,但可以使用其中一些你可能会发现一些有用的东西。
对于它的价值(这对于专家网络编码员来说可能是显而易见的,我不是),你不必将'id'属性指定为'yt',但是我见过的大多数例子都是做这个; 'yt'没有神奇的价值,你可以将id设置为对你有意义的东西。
答案 1 :(得分:-1)
你有没有理由不使用MPMoviePlayerController?
使用MPMoviePlayerController,您只需在笔尖中创建一个UIView,它就是您想要玩家的大小。然后分配/初始化播放器并将其帧设置为视图的帧。使用MPMoviePlayerController可以访问属性以显示/隐藏控件。此外,您可以获得所有优秀的委托方法,告诉您视频何时停止,用户是否进入或退出全屏等等。