Я пытаюсь использовать MPMoviePlayerController для воспроизведения локально сохраненного видео, однако оно не работает.MPMoviePlayerController: Не воспроизводится видео
Вот мой источник:
self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
[self.moviePlayer prepareToPlay];
CGRect frame = self.movieView.frame;
frame.origin = CGPointZero;
self.moviePlayer.view.frame = frame;
self.moviePlayer.allowsAirPlay = NO;
self.moviePlayer.shouldAutoplay = NO;
self.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
self.moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
self.moviePlayer.controlStyle = MPMovieControlStyleEmbedded;
self.moviePlayer.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
[self.movieView addSubview:self.moviePlayer.view];
Это делает работы, когда у меня есть URL, как «активы-библиотека:? //asset/asset.MOV ID = 2C7D89F6-2211-4920-A842-30D773B075D6 & ext = MOV ", но когда у меня есть URL-адрес, например" file: ///var/mobile/Media/DCIM/101APPLE/IMG_1454.mp4 ", он не работает.
Я использую следующий код, чтобы получить пользователей последнее видео и играть в плеере:
- (void)mostRecentVideo:(void (^)(NSURL *url))completion
{
PHFetchOptions *fetchOptions = [[PHFetchOptions alloc] init];
fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES]];
PHFetchResult *fetchResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo options:fetchOptions];
PHAsset *lastAsset = [fetchResult lastObject];
PHVideoRequestOptions *options = [PHVideoRequestOptions new];
options.deliveryMode = PHVideoRequestOptionsDeliveryModeMediumQualityFormat;
[[PHImageManager defaultManager] requestAVAssetForVideo:lastAsset options:options resultHandler:^(AVAsset *asset, AVAudioMix *audioMix, NSDictionary *info) {
if ([asset isKindOfClass:[AVURLAsset class]])
completion(((AVURLAsset *)asset).URL);
}];
}
как вы получите URL в self.moviePlayer = [[MPMoviePlayerController Alloc] initWithContentURL: URL]; –
Функция mostRecentVideo - это то, где я ее получаю, в первый раз, когда я использую UIImagePickerController, чтобы получить его. –
Что вы имеете в виду, не работает? Каково поведение? – gabbler