2015-07-13 83 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/ –