关于MPMoviePlayerController的一些知识

本文详细介绍了如何使用MPMoviePlayerController设置视频的frame、监听全屏按钮和退出全屏按钮,以及如何请求视频缩略图并将其保存到相册。包括了全屏状态切换时的屏幕方向调整、视频播放控制、缩略图获取与保存等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MPMoviePlayerController可以设置视频的frame.即设置其view的frame.

监听MPMoviePlayerController的全屏按钮和退出全名按钮的方法就是添加通知.

[notificationCenter addObserver:self selector:@selector(willFullScreen:) name:MPMoviePlayerWillEnterFullscreenNotification object:self.moviePlayer];
    [notificationCenter addObserver:self selector:@selector(willFullScreen:) name:MPMoviePlayerWillExitFullscreenNotification object:self.moviePlayer];
方法里可以设置全屏的方法:

- (void)willFullScreen:(NSNotification *)notification
{
    if (self.view.bounds.size.width < self.view.bounds.size.height) {
        [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIInterfaceOrientationLandscapeRight] forKey:@"orientation"];
    } else {
        [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIInterfaceOrientationPortrait] forKey:@"orientation"];
    }
}

MPMoviePlayerController除了一般的视频播放和控制外还有一些强大的功能,例如截取视频缩略图。请求视频缩略图时只要调用- (void)requestThumbnailImagesAtTimes:(NSArray *)playbackTimes timeOption:(MPMovieTimeOption)option方法指定获得缩略图的时间点,然后监控MPMoviePlayerThumbnailImageRequestDidFinishNotification通知,每个时间点的缩略图请求完成就会调用通知,在通知调用方法中可以通过MPMoviePlayerThumbnailImageKey获得UIImage对象处理即可。

[notificationCenter addObserver:self selector:@selector(mediaPlayerThumbnailRequestFinished:) name:MPMoviePlayerThumbnailImageRequestDidFinishNotification object:self.moviePlayer];
通知所执行的方法为:

-(void)mediaPlayerThumbnailRequestFinished:(NSNotification *)notification{
    NSLog(@"视频截图完成.");
    UIImage *image=notification.userInfo[MPMoviePlayerThumbnailImageKey];
    //保存图片到相册(首次调用会请求用户获得访问相册权限)
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值