是否可以使用MPMoviePlayerController播放当前正在下载的文件?

时间:2011-07-05 15:53:20

标签: iphone ipad mpmovieplayercontroller asihttprequest

我有一个视频网址。我已经开始使用ASIHTTPRequest将其下载到iOS设备的文档目录中。在完成下载之前/在下载该文件期间,我是否可以使用该文件启动/播放MPMoviePlayerController。 (我不应该使用MoviePlayer进行流式传输)。我需要同时下载和播放。

如果有人知道,请通过答案/评论提供帮助。

提前谢谢你。 :)

2 个答案:

答案 0 :(得分:3)

来自Apple's Streaming Media Guide (page 18)

“如果您的应用通过移动网络提供视频,并且视频在五分钟内超过10分钟或5 MB数据,则需要使用HTTP直播。”

好消息是...直播非常容易。比流媒体的低级处理容易得多。您需要访问视频&通过直播工具传递它。

步骤

  1. 下载&从这里安装流媒体工具:http://developer.apple.com/resources/http-streaming/
  2. 打开终端并输入“mediafilesegmenter~ / PATH / TO / YOUR / VIDEO / FILE.m4v”(减去“”)
  3. 这会将视频文件分割为.ts段并为您提供.m3u8播放列表文件
  4. 通过启用网络共享
  5. 将文件上传到服务器或在本地工作以试用它
  6. 在视图中,添加MPMoviePlayerController的iVar,您需要链接到MediaPlayer.framework
  7. EJ:

    // self.player is an iVar of MPMoviePlayerController
    MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://path.to.playlist.file.m3u8"]];
    self.player = mp;
    [mp release];
    [self.view addSubview:self.player.view];
    [self.player prepareToPlay];
    [self.player play];
    

    查看流媒体工具附带的man文件。有很多方法可以自定义流媒体内容。但要让流媒体在iOS上运行就好了。

答案 1 :(得分:1)

你可以看一下Matt Gallagher的Audiostreamer。他描述了如何缓冲音频以及如何通过NSURLConnection加载数据。

Matt Gallagher audiostreamer