相关疑难解决方法(0)

MPMoviePlayerController成功预加载后,将视频缓存到磁盘

使用MPMoviePlayerController启动视频后initWithContentURL:,是否可以缓存下载的视频,以便下次播放视频时可以通过本地文件:// URI加载?我知道可以自己下载然后启动电影播放器​​,但是我想利用播放器在完成预加载之前启动的能力.

iphone video cocoa-touch

17
推荐指数
1
解决办法
6733
查看次数

使用AVPlayer和AVAssetExportSession进行缓存

我想使用AVPlayer缓存渐进式下载视频.如何将AVPlayer的项目保存到磁盘?我正在尝试在播放器的currentItem(完全加载)上使用AVAssetExportSession.这段代码给了我" AVAssetExportSessionStatusFailed(操作无法完成) ":

    AVAsset *mediaAsset = self.player.currentItem.asset;

    AVAssetExportSession *es = [[AVAssetExportSession alloc] initWithAsset:mediaAsset presetName:AVAssetExportPresetLowQuality];

    NSString *outPath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"out.mp4"];

    NSFileManager *fileManager = [NSFileManager defaultManager];
    [fileManager removeItemAtPath:outPath error:NULL];

    es.outputFileType = @"com.apple.quicktime-movie";
    es.outputURL = [[[NSURL alloc] initFileURLWithPath:outPath] autorelease];
    NSLog(@"exporting to %@",outPath);
    [es exportAsynchronouslyWithCompletionHandler:^{
        NSString *status = @"";

        if( es.status == AVAssetExportSessionStatusUnknown ) status = @"AVAssetExportSessionStatusUnknown";
        else if( es.status == AVAssetExportSessionStatusWaiting ) status = @"AVAssetExportSessionStatusWaiting";
        else if( es.status == AVAssetExportSessionStatusExporting ) status = @"AVAssetExportSessionStatusExporting";
        else if( es.status == AVAssetExportSessionStatusCompleted ) status = @"AVAssetExportSessionStatusCompleted"; …
Run Code Online (Sandbox Code Playgroud)

iphone avfoundation video-streaming ios avplayer

9
推荐指数
1
解决办法
8924
查看次数