使用此代码在UIWebView中播放YouTube视频
- (void)embedYouTube {
UIWebView *webView = [[[UIWebView alloc] initWithFrame:self.view.bounds] autorelease];
webView.autoresizesSubviews = YES;
webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
// iframe
videoHTML = [NSString stringWithFormat:@"\
<html>\
<head>\
<style type=\"text/css\">\
iframe {position:absolute; top:50%%; margin-top:-130px;}\
body {background-color:#000; margin:0;}\
</style>\
</head>\
<body>\
<iframe width=\"560%%\" height=\"315px\" src=\"%@\"http://www.youtube.com/embed/j9CukQje2qw\" frameborder=\"0\" allowfullscreen></iframe>\
</body>\
</html>", videoURL];
[videoView loadHTMLString:videoHTML baseURL:nil];
}
当我点击此LaunchVideo UIButton时,它在iOS设备上显示黑屏
-(void)LaunchVideo:(id)sender
{
self.videoURL = @"http://www.youtube.com/embed/j9CukQje2qw";
WebViewController *webViewController = [[[WebViewController alloc] initWithNibName:nil bundle:nil] autorelease];
webViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
webViewController.videoURL = self.videoURL;
[self presentModalViewController:webViewController animated:YES];
}
如果有人能指出我在这段代码中遗漏或做错了什么。为什么youtube视频没有显示。不使用以编程方式执行的接口构建器。从网上获得了这个项目代码。在ios设备上尝试了这个项目代码,它适用于该项目,但在我的项目中应用其代码时,它无法正常工作。唯一不同的是他的项目代码来自web使用界面构建器,我正在编程。我不明白。
请帮助解决此代码的错误。
感谢您的帮助。
答案 0 :(得分:2)
以下是将YouTube视频加载到应用中的另一种方法。首先,将UIWebView放入您的界面并将其大小调整为您希望视频显示的大小(将有一个按钮使其全屏显示),然后为其创建一个IBOutlet,以便您可以更改其隐藏属性(以让它弹出并消失)这是一些代码。在代码中有一个名为webviewshow的方法,这个方法基本上只是说一个简单的方法 webview.hidden = NO; webviewbutton.hidden = NO; 然后还会弹出一个按钮,当点击时,该按钮会使Web视图消失。以下是将YouTube视频加载到网络视图中的代码
// Create your query ...
NSString* searchQuery = [NSString stringWithFormat:@"http://www.youtube.com/embed/j9CukQje2qw];
// Be careful to always URL encode things like spaces and other symbols that aren't URL friendly
searchQuery = [searchQuery stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
// Now create the URL string ...
NSString* urlString = searchQuery;
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
[webView loadRequest:request]; currentTimer= [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(webviewshow) userInfo:nil repeats:NO];;
它会等待2秒(大多数连接的通常等待时间),直到显示Web视图,因此页面已加载,用户无需加载该页面。
然后,当您想要使视频消失时,请创建一个关闭Web视图的方法
- (void) makewebviewGoAway {webview.hidden = YES; webviewbutton.hidden = YES;}
希望这很有帮助。如果您需要进一步的帮助或解释,请发表评论。