当我UIWebview
尝试播放youtube
上的任何视频时,我的xcode崩溃,我正在使用iOS6 ..我只是使用UIWebview
加载网址youtube。 ..我需要嵌入媒体播放器播放视频吗?
我需要做些什么才能在UIWebView
码
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *newVersionHTML = @"<html>\
<style>body{padding:0;margin:0;}</style>\
<iframe width=\"%0.0f\" height=\"%0.0f\" src=\"http://www.youtube.com/embed/%@?modestbranding=1;title=;showinfo=0;rel=0;controls=0\" frameborder=\"0\" allowfullscreen></iframe>\
</html>";
NSString *htmlToLoad = [NSString stringWithFormat:newVersionHTML, webView.frame.size.width, webView.frame.size.height,videoId];
[webView loadHTMLString:htmlToLoad baseURL:nil];
webView.delegate = self;
// self.webView.mediaPlaybackRequiresUserAction = NO;
webView=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 1024, 768)];
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.youtube.com/"]]]];
[self.view addSubview:webView];
}
新错误
2013-02-13 11:08:20.902 webview[593:c07] [MPAVController] Autoplay: Enabling autoplay
2013-02-13 11:08:20.903 webview[593:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
2013-02-13 11:08:20.903 webview[593:c07] setting movie path: http://r4---sn-ci5gupcc-cage.c.youtube.com/videoplayback?el=watch&itag=18&cp=U0hVRVdQVF9IU0NONV9PSlhFOl9xb2x5ZzMxX3Zw&sver=3&expire=1360756439&yms=_tpjcd07_wk&signature=0659B5710FD8503E5AA5059CE35A9754DD59B90F.5194D7A1B0EC8749FC91CC1B31261B81950E801E&upn=Y8J9bVD4jLE&newshard=yes&ratebypass=yes&sparams=cp%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&ipbits=8&source=youtube&id=748bf802989d33fb&app=youtube_mobile&key=yt1&ip=122.179.77.11&fexp=906335%2C901802%2C909917%2C910207%2C914052%2C916613%2C901446%2C920704%2C912806%2C902000%2C922403%2C922405%2C929901%2C913605%2C925710%2C929114%2C925006%2C908529%2C920201%2C911116%2C926403%2C910221%2C901451%2C919114&dnc=1&mt=1360733832&mv=m&ms=au&cpn=dxlJMMz5hJkR_ARd&ptk=Radaantv&oid=bGpsJKyLNbnXo_1YohiEiw&ptchn=RadaanMedia&pltype=content
2013-02-13 11:08:20.904 webview[593:c07] [MPAVController] Autoplay: Enabling autoplay
2013-02-13 11:08:20.908 webview[593:c07] [MPCloudAssetDownloadController] Prioritization requested for media item ID: 0
2013-02-13 11:08:23.974 webview[593:8817] <0xb057e000> Error '!obj' trying to fetch default input device's sample rate
2013-02-13 11:08:23.974 webview[593:8817] <0xb057e000> Error getting audio input device sample rate: '!obj'
2 013-02-13 11:08:23.975 webview[593:8817] <0xb057e000> AQMEIOManager::FindIOUnit: error 'NoHW'
2013-02-13 11:08:23.975 webview[593:c07] <com.apple.main-thread> AQMEIOManager::FindIOUnit: error 'NoHW'
2013-02-13 11:08:24.567 webview[593:c07] <com.apple.main-thread> AQMEIOManager::FindIOUnit: error 'NoHW'
2013-02-13 11:08:24.567 webview[593:c07] <com.apple.main-thread> AQMEIOManager::FindIOUnit: error 'NoHW'
2013-02-13 11:08:24.569 webview[593:c07] <com.apple.main-thread> AQMEIOManager::FindIOUnit: error 'NoHW'
答案 0 :(得分:1)
只需通过以下代码传递youtube视频的videoId即可播放YouTube视频
例如,如果链接是http://www.youtube.com/watch?v=DTbgpJAggg0&feature=youtube_gdata,那么
- (void)viewDidLoad
{
[super viewDidLoad];
webView=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 1024, 768)];
[self.view addSubview:self.webView];
self.webView.delegate = self;
NSString *newVersionHTML = @"<html>\
<style>body{padding:0;margin:0;}</style>\
<iframe width=\"%0.0f\" height=\"%0.0f\" src=\"http://www.youtube.com/embed/%@?modestbranding=1;title=;showinfo=0;rel=0;controls=0\" frameborder=\"0\" allowfullscreen></iframe>\
</html>";
NSString *htmlToLoad = [NSString stringWithFormat:newVersionHTML, self.webView.frame.size.width, self.webView.frame.size.height,videoId];
[self.webView loadHTMLString:htmlToLoad baseURL:nil];
}
只需在webview使用中打开youtube主页:
在.h:
@property (nonatomic, retain) UIWebView *webView;
在.m:
- (void)viewDidLoad
{
[super viewDidLoad];
_webView=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 1024, 768)];
[self.view addSubview:self.webView];
self.webView.delegate = self;
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.youtube.com/"]]]];
}