2

MPMoviePlayerController でビデオを表示すると、黒い画面が表示されることがあります。UIImagePickerController を使用して、新しいビデオを作成するか、保存したビデオを選択します。

以下の imagePickerController:: で MPMoviePlayerController を作成します。viewDidAppear: で手札をプレイします。

新しいムービーを作成するとムービーは正常に再生されますが、既存のムービーを選択すると黒い画面になります。どちらの場合も、アップロードする有効な映画があります。

再生メッセージありとなしの両方で試しました。何か案は?

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{

NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
UIImage *originalImage, *editedImage;

// Handle a still image picked from a photo album
if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeImage, 0) == kCFCompareEqualTo) 
{

    editedImage =   (UIImage *) [info objectForKey: UIImagePickerControllerEditedImage];
    originalImage = (UIImage *) [info objectForKey: UIImagePickerControllerOriginalImage];

    _image = (editedImage == nil) ? originalImage : editedImage;
    _imageView.image = _image;
    _imageParentView.hidden = NO;
}

// Handle a video picked from a photo album
if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) 
{
    _rawVideoURL = [info objectForKey: UIImagePickerControllerMediaURL];
    _videoParentView.hidden = NO;

    _player = [[MPMoviePlayerController alloc] initWithContentURL: _rawVideoURL];
}

[self dismissModalViewControllerAnimated: YES];
}



-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];

if (_player != nil)
{
    [_player prepareToPlay];
    [_player.view setFrame: _videoView.bounds];  // player's frame must match parent's
    [_videoView addSubview: _player.view];
    _player.repeatMode = MPMovieRepeatModeOne;
    _player.scalingMode = MPMovieScalingModeAspectFit;


    [_player play];
}
}
4

0 に答える 0