私は奇妙なMPMoviePlayerControllerの動作をしています。 UIImagePickerControllerのカメラロールから選択した映画を再生したくない。しかし、私はUIImagePickerControllerで映画をキャプチャ - 時にはMPMoviePlayerControllerで再生されます。MPMoviePlayerControllerは、UIImagePickerControllerから取得したムービーを再生しません。
これはUIImagePickerControllerの初期化です:
mediaPickerController = [[[UIImagePickerController alloc] init] autorelease];
NSArray *types = [UIImagePickerController availableMediaTypesForSourceType:sourceType];
mediaPickerController.sourceType = sourceType;
mediaPickerController.mediaTypes = types;
mediaPickerController.videoQuality = qualityType;
mediaPickerController.delegate = self;
[self presentModalViewController:mediaPickerController animated:YES];
これはある - (無効)imagePickerController:(UIImagePickerController *)ピッカーdidFinishPickingMediaWithInfo:(NSDictionaryの*)情報デリゲートメソッド:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSURL *fileURL = [info objectForKey:UIImagePickerControllerMediaURL];
playerView = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
[playerView.view setFrame:mediaPreview.bounds];
[playerView setScalingMode:MPMovieScalingModeAspectFit];
[playerView setControlStyle:MPMovieControlStyleEmbedded];
[playerView setShouldAutoplay:NO];
[playerView prepareToPlay];
[mediaPreview addSubview:playerView.view];
}
もう一つの奇妙な問題 - UIImagePickerControllerのsourceType = Cameraを使用すると、代理人が次のパスを返して正常に再生します:
UIImagePickerControllerMediaURL = "file://localhost/private/var/mobile/Applications/XXXXX-XXXXX/tmp/capture-T0x127bb0.tmp.5gFkOo/capturedvideo.MOV"
しかし、sourceTypeが=図書館、パスが正しく見え、映画の後半に現れ、消えるとき:
UIImagePickerControllerMediaURL = "file://localhost/private/var/mobile/Applications/XXXXX-XXXXX/tmp//trim.ZPeyTU.MOV"
が任意のアイデアをお持ちですか?
ありがとうございました。 [ピッカーの解放]が私の問題を解決しました。 – konradowy
@mikewoz:ありがとうございました。私はこれがiPad上で助けることができると信じていますが、このアプローチはiPhone 3Gおよび3GSデバイスの問題を解決しません。私のアプリはiPad(iPhoneの上位3G)でもレガシーデバイスでも動作するはずなので、今はプレビュー用にサムネイル画像を一時的に使用しています。 – SVGreg