天天看点

文章标题import “ViewController.h”import import pragma mark-实现通知里面的方法pragma mark - 封装截图的方法

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 获得视频的资源 导入