ios - MPMoviePlayerController 起始图像

标签 ios mpmovieplayercontroller

在我的应用程序中,我创建的 MPMoviePlayerController 实例开始时是一个黑框,看起来像这样(因为视频开始时是黑色的,然后逐渐淡入):

enter image description here

但是我设想的是像这样的更用户友好的东西,带有缩略图,如下例所示:

enter image description here

这是我创建的模型,但相机胶卷中的视频和“消息”应用中发送的视频使用的是播放箭头。我需要实现什么类才能使用常用的 iOS 播放箭头?

最佳答案

这看起来像 MPMoviePlayerControllerthumbnailImageAtTime:timeOption: 方法,您应该传入要检索缩略图并使用该图像显示的时间视频顶部的 UIImageView

获得缩略图后,您可以创建一个 UIImageView 并将图像设置为缩略图,并确保将 userInteractionsEnabled 设置为 YES。确保将此 ImageView 的框架设置为覆盖电影播放器​​。

现在您可以在该 ImageView 上创建一个 UITapGestureRecognizer,这将触发一个方法。然后,此方法调用 MPMoviePlayerController 对象的 play 方法。

-(void)viewDidLoad{
    [...]

    UIImage *thumbnail = [moviePlayer thumbnailImageAtTime:5.0 
                                                timeOption:MPMovieTimeOptionNearestKeyFrame];

    UIImageView *iv = [[UIImageView alloc] initWithImage:thumbnail];
    iv.userInteractionEnabled = YES;
    iv.frame = moviePlayer.frame;
    [self.view addSubview:iv];
    [iv release];

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
    tap.numberOfTapsRequired = 1;
    [iv addGestureRecognizer:tap];
    [tap release];

    [...]
}


- (void)handleTap:(UITapGestureRecognizer *)gesture{
    iv.hidden = YES;
    [moviePlayer play];
}

请注意,如果您想要播放按钮,请在 Photoshop 中制作一个播放按钮,并将其添加到缩略图 View 的顶部,将手势识别器附加到该 ImageView ,并确保在开始播放时隐藏两个 ImageView 你的视频。

您可以使用 UIButton,否则将图像设置为播放图像,那么您根本不需要 UIGestureRecognizer

关于ios - MPMoviePlayerController 起始图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12678035/

相关文章:

ios - 如何在 MPMoviePlayerController 上添加 UIImageView | iOS | objective-c

ios - 如何从 IOS 中的元数据中获取图像显示为任何网站的预览

iphone - 主线程在执行后台线程时正在等待[NSManagedObjectContext(_NSInternalAdditions)lockObjectStore]

ios - Swift:NSBundle 在尝试设置为 filePath 时总是设置为 nil

ios - MPMoviePlayer - 黑屏 - iOS 5 - 没有视频播放

ios5 - 初始化并播放 MPMoviePlayerController 返回黑屏

ios - MPMoviePlayerController |如何播放部分视频

ios - 在 Swift 中捕获闭包值

ios - 从 ARWorldTrackingConfiguration 获取当前帧作为 uiimage?

ios - 音量 slider 没有效果