如何在Ipad中播放URL中的视频?

时间:2012-06-06 08:11:27

标签: iphone ios ipad uitableview mpmovieplayercontroller

在我的应用程序中,我从UITableview中的服务器获取视频链接。所有这些链接都存储在文本文件中的Sever上,我从服务器逐个获取所有这些链接并将每个链接分配给UITableview中的单元。这些我成功完成了但我希望当我点击UITableview中的任何一个单元格时,它会在下一个视图中播放视频。这是我的代码。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     nextview *dvController = [[nextview alloc] initWithNibName:@"nextview" bundle:nil];
     [self presentModalViewController:dvController animated:YES];
     strFile = [Listdata objectAtIndex:indexPath.row];
     NSLog(@"test=%@",strFile);
     [dvController release];
  }

在下一个视图中,我将存储在“strFile”中的链接分配给MPMoviePlayerController,这里是我的代码。

-(void)viewDidAppear:(BOOL)animated
 {
 NSLog(@"mytest=%@",strFile);
 NSURL *url = [NSURL URLWithString:strFile];
 NSLog(@"myurl=%@",url);
 myplayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
 myplayer.view.frame = CGRectMake(0, 0,900, 700);  
 [self.view addSubview:myplayer.view];
 [myplayer play];
 }

在NSlog中,我看到链接,但它没有在MPMoviePlayerController中播放。任何人都可以指导我提前做出错误。

3 个答案:

答案 0 :(得分:2)

@prince:你能告诉我你在NSLog中得到什么网址吗?我认为你错误地得到了网址。

我们可以通过

获取网址

url = [NSURL fileURLWithPath:strUrl];

否则

url = [NSURL URLWithString:strUrl];

尝试一次。

答案 1 :(得分:1)

您可能不应该设置框架并添加到子视图中,您可能会对MPMoviePlayerViewController感到困惑。试试这个......

-(void)viewDidAppear:(BOOL)animated {
 NSLog(@"mytest=%@",strFile);
 NSURL *url = [NSURL URLWithString:strFile];
 NSLog(@"myurl=%@",url);
 myplayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
 myplayer.scalingMode = MPMovieScalingModeAspectFill;
 [myplayer play];
 }

编辑忽略我的代码,您无法直接在MPMoviePlayerController中播放YouTube视频。请检查此帖子,而不是Play YouTube videos with MPMoviePlayerController instead of UIWebView

答案 2 :(得分:0)

到youtube视频播放内部应用程序是使用来自Youtube的嵌入标记创建一个UIWebView,用于要作为UIWebView内容播放的电影。 UIWebView将检测到嵌入对象是Youtube链接,并且Web视图的内容将是视频的youtube预览。当您的用户点击预览时,视频将显示在MPMoviePlayerController中。试试这个链接:

  

http://iphoneincubator.com/blog/audio-video/how-to-play-youtube-videos-within-an-application

不幸的是,没有办法用MPMoviePlayerController直接播放youtube视频,因为youtube没有公开直接链接到视频文件。