每当我按下按钮时,我想将youtube视频嵌入到webviewer中。我有这个代码
- (IBAction)testBtn:(id)sender {
NSString *code = @"<iframe width=\"560\" height=\"315\" src=\"//www.youtube.com/embed/1iBIcJFRLBA\" frameborder=\"0\" allowfullscreen></iframe>";
[[self youtubeWebPlayer]loadHTMLString:code baseURL:nil];
}
我的问题是,每按一下按钮都没有任何反应。 webviewer仍为空白。
我在代码中添加了断点,以便仔细检查我的应用程序是否调用了代码并确实调用了它。
编辑* * *
我已经通过替换
解决了这个问题 [[self youtubeWebPlayer]loadHTMLString:code baseURL:nil];
与
[[self youtubeWebPlayer]loadHTMLString:code baseURL:[NSURL URLWithString:@"http://www.youtube.com"]];
答案 0 :(得分:11)
试试这个,这是完美的。 您使用youtube Url作为“http://www.youtube.com/v/YOU_TUBE_VIDEO_ID”。
UIWebView * youTubeWebView=[[UIWebView alloc]initWithFrame:CGRectMake(0,0,320,320)];
youTubeWebView.allowsInlineMediaPlayback=YES;
youTubeWebView.mediaPlaybackRequiresUserAction=NO;
youTubeWebView.mediaPlaybackAllowsAirPlay=YES;
youTubeWebView.delegate=self;
youTubeWebView.scrollView.bounces=NO;
NSString *linkObj=@"http://www.youtube.com/v/1iBIcJFRLBA";//@"http://www.youtube.com/v/6MaSTM769Gk";
NSLog(@"linkObj1_________________%@",linkObj);
NSString *embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;color: white;}\\</style>\\</head><body style=\"margin:0\">\\<embed webkit-playsinline id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \\width=\"320\" height=\"320\"></embed>\\</body></html>";
NSString *html = [NSString stringWithFormat:embedHTML, linkObj];
[youTubeWebView loadHTMLString:html baseURL:nil];
[self.view addSubview:youTubeWebView];
答案 1 :(得分:0)
如果你想在swift
中嵌入管视频,可以添加此代码 let webViewYouTube = UIWebView()
webViewYouTube.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.width/2)
webViewYouTube.allowsInlineMediaPlayback = true
webViewYouTube.mediaPlaybackRequiresUserAction = false
webViewYouTube.mediaPlaybackAllowsAirPlay = true
webViewYouTube.delegate = self as? UIWebViewDelegate
webViewYouTube.scrollView.bounces = false
webViewYouTube.scrollView.isScrollEnabled = false
let linkObj = "https://www.youtube.com/watch?v=swIoyaBUpEg"
print("linkObj1_________________\(linkObj)")
let embedHTML = " <html><head> <style type=\"text/css\"> body { background-color: transparent;color: white;}\\</style>\\</head><body style=\"margin:0\">\\<embed webkit-playsinline id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \\width=\"320\" height=\"320\"></embed>\\</body></html>"
let html = String(format: embedHTML, linkObj)
webViewYouTube.loadHTMLString(html, baseURL: nil)
view.addSubview(webViewYouTube)