【问题标题】:How to save a .mov from a url to play in a mpmovieplayer如何从 url 保存 .mov 以在 mpmovieplayer 中播放
【发布时间】:2013-04-12 12:40:19
【问题描述】:

我正在使用它来播放本地 .mov 文件

 NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                     pathForResource:@"MOVIE" ofType:@"mov"]];

 moviePlayer =
 [[MPMoviePlayerController alloc]
 initWithContentURL:url];

 [moviePlayer setControlStyle:MPMovieControlStyleNone];

 [[NSNotificationCenter defaultCenter]
 addObserver:self
 selector:@selector( moviePlayBackDidFinish:)
 name:MPMoviePlayerPlaybackDidFinishNotification
 object:moviePlayer];
 [moviePlayer setScalingMode:MPMovieScalingModeAspectFill];
 [moviePlayer setFullscreen:FALSE];

 //---play partial screen---
 moviePlayer.view.frame = CGRectMake(0, 0, 320, 240);
moviePlayer.shouldAutoplay = YES;
 [self.view addSubview:moviePlayer.view];
[moviePlayer play];

我想从 url 预加载视频并将其保存到驱动器,以便在播放时不会出现网络延迟。如何从 url 保存文件,然后将其加载到 mpmovieplayer。

好像应该是这样的吧……

NSString *stringURL = @"url to file";
NSURL  *url = [NSURL URLWithString:stringURL];
NSData *urlData = [NSData dataWithContentsOfURL:url];

但如果是这种情况,我不知道如何用数据初始化它。

【问题讨论】:

    标签: ios nsurlconnection mpmovieplayer


    【解决方案1】:

    您可以使用 NSURLConnection 下载 URL 的内容,并由您决定存储位置/方式。然后将本地文件的 URL 加载到您的电影播放器​​中。

    我似乎不建议尝试将整个视频保存在内存中;它可能太大了!

    也就是说,你真的需要这样做吗?目前让MPMoviePlayerController 处理这个让你失败的事情如何?

    【讨论】:

    • 它们是大约 6-10 秒的短片。我希望用户根据他们回答问题并根据他们的答案计时。这就是为什么我担心缓冲延迟。我的 MPMoviePlayer 可以很好地处理本地存储的文件。我只是希望时间不会因网络连接而延迟。
    • 很公平。您想下载视频并将其存储在本地。试图在内存中保留多个视频,无论多短,都是自找麻烦。
    猜你喜欢
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    相关资源
    最近更新 更多