码迷,mamicode.com
首页 > 移动开发 > 详细

多媒体技术—提高你APP的逼格!(一)

时间:2016-05-07 06:27:57      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

  1. 视频播放
  2. 视频截取
  3. 视频录制
  4. 视频压缩
 
1.视频播放
1.1 相关的两个框架:
  iOS8.0  MediaPlayer
      iOS9.0  AVFoundation
 
1.2 播放方式
     iOS 8.0
  • 有视图的   MPMoviePlayerViewController
  • 无视图的   MPMoviePlayerController
     iOS 9.0
  • AVPlayerViewController
 
1.3  MPMoviePlayerViewController
MPMoviePlayerViewController实现播放的步骤
  1. 获取资源路径
  2. 初始化播放器
  3. 进行播放       present
 
1.4 MPMoviePlayerController
MPMoviePlayerController实现播放的步骤
  1. 获取资源路径
  2. 初始化播放器
  3. 将player的view添加到当前控制器的view上,并设置frame
  4. 准备播放、开始播放
  5. 下一首
 
注意:player需要强引用
MPMoviePlayerController
当前控制器必须设置对player进行强引用
可以设置 player的样式 controlStyle
  • MPMovieControlStyleNone        // 没有控制器的按钮就是none
  • MPMovieControlStyleEmbedded    // 嵌入式的,且是默认的
  • MPMovieControlStyleFullscreen  // 全屏样式
  • MPMovieControlStyleDefault = MPMovieControlStyleEmbedded    //  默认样式
 
1.5 AVPlayerViewController
两个框架 :AVFoundation 和 AVKit
播放步骤
  1. 获取资源路径
  2. 初始化播放器
  3. 将playerVC的view添加到当前控制器的view上,并设置frame 或者 present出来playerVC
  4. 开始播放
 
 
 
1.6 播放下一曲
播放下一曲
  1. 实现方式:通知
  2. 接收的通知 key  MPMoviePlayerPlaybackDidFinishReasonUserInfoKey,返回的数据是 MPMovieFinishReason(NSNumber)播放结束的原因,
    • MPMovieFinishReasonPlaybackEnded  播放结束
    • MPMovieFinishReasonPlaybackError  播放错误
    • MPMovieFinishReasonUserExited     用户退出
  3. 判断视频是否是正常结束播放,判断reason的结束方式
  4. 设置 contentURL
  5. 进行播放
 
1.7 MPMoviePlayerController 和 MPMoviePlayerViewController 比较
共同点
  • 都能进行播放视频
  • 都是使用通知实现播放下一曲
异同点
  1. MPMoviePlayerViewController 自带视图的播放控制器,且是全屏显示;MPMoviePlayerController无视图,需要添加到当前的控制器view上且设置frame
  2. MPMoviePlayerController使用场景:朋友圈
  3. MPMoviePlayerController使用的时候控制器必须对其有一个强引用
    1. 原因:MPMoviePlayerController  在alloc init之后在viewDidLoad方法之后就会消失,必须让控制器对它有一个强引用
  4. MPMoviePlayerController可以设置controlStyle
  5. 播放方式不同:
    1. MPMoviePlayerViewController 需要present
    2. MPMoviePlayerController   调用 play播放
 
2.视频截取
相关框架:AVFoundationAVAssetImage
  1. 获取资源路径
  2. 包装 AVAsset
  3. 创建获取器  AVAssetImageGenerator
  4. 截取
结构体是不能放到数组中的
UIImage和CGImageRef的区别?
 
3.视频录制
 更新中
 
4.视频压缩
 更新中
 
 

多媒体技术—提高你APP的逼格!(一)

标签:

原文地址:http://www.cnblogs.com/wndqiangge/p/5467601.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!