【问题标题】:Youtube Video Crash Xcode ios6Youtube 视频崩溃 Xcode ios6
【发布时间】:2023-03-26 12:31:01
【问题描述】:

UIWebview 中,当我尝试在youtube 上播放任何视频时,它使我的xcode 崩溃,我使用的是iOS6 .. 我只是使用UIWebview 将url youtube 加载到它...我需要嵌入媒体播放器来播放视频?

我还需要做什么才能在UIWebView youtube 上播放视频

代码

- (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'

【问题讨论】:

  • 在此示例中,您正在加载 youtube.com 而不是视频。
  • 你的代码对我有用....
  • @JohnRiselvato 好的我需要什么代码来加载视频??
  • @Sudha ya 加载 youtube 工作正常,但加载视频时崩溃

标签: iphone ios ios6 uiwebview youtube


【解决方案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/"]]]];

}

【讨论】:

  • videoId 是 NSString,你可以从 youtube url 获取视频 ID 来播放视频
  • 例如 EDTTqtO-y2I 是一个 videoId
  • 你完成了但没有再次工作它崩溃了..check New Error in code
  • 伙计!我只是将你的代码粘贴到我的代码中......你检查问题部分
  • 你给我的代码[webView loadHTMLString:htmlToLoad baseURL:nil]; 我认为这是针对任何特定视频的......它设置了框架......
猜你喜欢
  • 1970-01-01
  • 2014-10-24
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多