import “ViewController.h”
//导入视频的框架
import
import
pragma mark-实现通知里面的方法
-(void)changeState:(NSNotification *)not
{
// 获得视频播放当前的时间
NSLog(@”视频播放的当前时间%f”,moviePlayer.currentPlaybackTime);
NSLog(@"%@",not.object); //*****注意这一点,不是在userInfo 里面
MPMoviePlayerController *mp = not.object;
// playbackState 是一个枚举 (用%ld打印) 只读的属性 可以通过它 来获取到 视频播放的这状态
NSLog(@”%ld”,mp.playbackState);
/*
MPMoviePlaybackStateStopped, 停止
MPMoviePlaybackStatePlaying, 播放
MPMoviePlaybackStatePaused, 暂停
MPMoviePlaybackStateInterrupted, 中断
MPMoviePlaybackStateSeekingForward, 快进
MPMoviePlaybackStateSeekingBackward 快退
*/
switch (mp.playbackState) {
case MPMoviePlaybackStateStopped:
NSLog(@"停止");
break;
case MPMoviePlaybackStatePlaying:
NSLog(@"播放");
break;
case MPMoviePlaybackStatePaused:
NSLog(@"暂停");
break;
case MPMoviePlaybackStateInterrupted:
NSLog(@"中断");
break;
case MPMoviePlaybackStateSeekingForward:
NSLog(@"快进");
break;
case MPMoviePlaybackStateSeekingBackward:
NSLog(@"快退");
break;
default:
break;
}
// 通过 MPMoviePlayerController 获得截图的方法
// MPMovieTimeOptionNearestKeyFrame, 获得相对时间的截图
// MPMovieTimeOptionExact 获得绝对时间的截图
[moviePlayer requestThumbnailImagesAtTimes:@[@(1),@(5)] timeOption:MPMovieTimeOptionNearestKeyFrame];
// 检测截图成功地通知的名字
// MPMoviePlayerThumbnailImageRequestDidFinishNotification
// 可以获得 通知传过来 内容的图片的key
// MPMoviePlayerThumbnailImageKey
// *但是这个方法 经常截图 失败 我们重新 写个方法
}
pragma mark - 封装截图的方法
-(UIImage )ThumbnailImage:(NSString )path
{
// 1.通过URL 获得视频的资源 导入