2015-07-13 80 views
0

我的应用程序中有一个ImageView,用户可以记录视频或从相机胶卷加载。我需要做什么,如果我想在UIImageView中播放视频。使用目标c播放视频

她是代码:

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

    [picker dismissViewControllerAnimated:YES completion:nil]; 

    NSString *mediaType = info[UIImagePickerControllerMediaType]; 
    if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]) // Media is a video 
    { 
     NSURL* videoUrl = info[UIImagePickerControllerMediaURL]; 
     _videoUrl = [[NSURL alloc] initWithString:[videoUrl absoluteString]]; 
     [self loadVideo:_videoUrl]; 


    } 

} 

- (void)loadVideo:(NSURL*)url 
{ 

    AVURLAsset *asset1 = [[AVURLAsset alloc] initWithURL:url options:nil]; 
    AVAssetImageGenerator *generate1 = [[AVAssetImageGenerator alloc] initWithAsset:asset1]; 
    generate1.appliesPreferredTrackTransform = YES; 
    NSError *err = NULL; 
    CMTime time = CMTimeMake(1, 2); 
    CGImageRef oneRef = [generate1 copyCGImageAtTime:time actualTime:NULL error:&err]; 
    UIImage *one = [[UIImage alloc] initWithCGImage:oneRef]; 
    [_imageView setImage:one]; 
    _imageView.contentMode = UIViewContentModeScaleAspectFit; 


} 

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
{ 
    [picker dismissViewControllerAnimated:YES completion:nil]; 
} 

,我使用下面的播放视频的代码,但它播放视频全屏。

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


moviePlayer.controlStyle = MPMovieControlStyleDefault; 
moviePlayer.shouldAutoplay = YES; 
[self.view addSubview:moviePlayer.view]; 
[moviePlayer setFullscreen:YES animated:YES]; 

我需要播放视频,但在UIImageView内。可能吗?

+0

你不能在UIImageView中播放视频。你有自定义帧的MPMoviePlayerController – kb920

+0

@ Lalit的答案可能会帮助你。 – kb920

回答

0

你的最终代码应该是这样的。你忘了添加框架

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


moviePlayer.view.frame = _yourImageView.frame; 
moviePlayer.scalingMode = MPMovieScalingModeAspectFill; 

moviePlayer.controlStyle = MPMovieControlStyleDefault; 
moviePlayer.shouldAutoplay = YES; 
[self.view addSubview:moviePlayer.view]; 
+0

查看此链接也... https://vandecybersena.wordpress.com/2015/06/10/play-video-in-ios-app-using-mpmovieplayercontroller-from-url/ –