第三方框架vitamio

  • 官网地址
  • vitamio使用授权:
    1. 非个人移动应用均需购买Vitamio使用授权
    2. 标准免费版本仅限于个人开发者使用

vitamio主要功能

1. Vitamio 能够流畅播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常见格式的视频
2. 还可以在 Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8)等常见的多种视频流媒体协议,包括点播与直播

vitamio简单

  1. 详见Vitamio iOS SDK 快速入门

  2. 代码实现

    1. 上述使用文档已写明OC的使用方法,不再多言

    2. swift
      1. 静态库及相关设置同OC
      2. 实现代码:

      @IBOutlet weak var screen: UIImageView!
      
      @IBOutlet weak var contentView: UIView!
      
      @IBOutlet weak var slider: UISlider!
      
      // 1. 获取单例
      let mMPlayer = VMediaPlayer.sharedInstance()
      
      let mediaExactor: VMediaExtracter = VMediaExtracter.sharedInstance()
      
      @IBAction func play() {
          // 2. 注册使用播放器
          mMPlayer.setupPlayerWithCarrierView(contentView, withDelegate: self)
      
          // 3. 给播放器传入要播放的视频URL
          let videoUrl = "http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8"
          mMPlayer.setDataSource(NSURL(string: videoUrl), header: nil)
      
          // 4. 设置属性
          setProperty()
      
          // 5. 异步准备播放
          mMPlayer.prepareAsync()
          }
      }
      
      // MARK: - 播放功能
      extension ViewController {
      
      func setProperty() {
          // 设置缓存
          mMPlayer.setCacheDirectory("/Users/wangshunzi/Desktop/cache")
          mMPlayer.useCache = true
      
          // 设置进度条
          slider.minimumValue =  Float(mMPlayer.getCurrentPosition())
          slider.maximumValue = Float(mMPlayer.getDuration())
      
          // 阻止屏幕变暗,慎重使用,缺省为no 2.0
          // 慎重使用本功能,因为非常耗电。
          UIApplication.sharedApplication().idleTimerDisabled = true
        }
      }
      
      // MARK: - 播放功能
      extension ViewController {
      
          @IBAction func resumePlay() {
              mMPlayer.start()
          }
          @IBAction func pause(sender: UIButton) {
              mMPlayer.pause()
          }
          @IBAction func stop() {
              // 重置数据
              mMPlayer.reset()
      
              // 当不再使用播放器时, 可以调用 -unSetupPlayer 实例方法来取消注册播放器
              mMPlayer.unSetupPlayer()
          }
      }
      
      // 实现 VMediaPlayerDelegate 协议, 以获得'播放器准备完成'等通知
      extension ViewController: VMediaPlayerDelegate {
      
          // 当'播放器准备完成'时, 该协议方法被调用, 我们可以在此调用 [player start]来开始音视频的播放.
          func mediaPlayer(player: VMediaPlayer!, didPrepared arg: AnyObject!) {
              mMPlayer.start()
          }
      
          // 当'该音视频播放完毕'时, 该协议方法被调用, 我们可以在此作一些播放器善后操作, 如: 重置播放器, 准备播放下一个音视频等
          func mediaPlayer(player: VMediaPlayer!, playbackComplete arg: AnyObject!) {
              player.reset()
          }
      
          // 如果播放由于某某原因发生了错误, 导致无法正常播放, 该协议方法被调用, 参数arg 包含了错误原因
          func mediaPlayer(player: VMediaPlayer!, error arg: AnyObject!) {
              print("error")
      }
      
  3. 其他使用详见Vitamio SDK for iOS 参考文档

你可能感兴趣的:(第三方框架vitamio)