七牛云直播 iOS播放器SDK接入流程

代码下载地址:https://github.com/pili-engineering/PLPlayerKit
系统要求: iOS7及以上版本

代码集成

方式一:CocoaPods的方法

直接在Podfile中添加

$ pod 'PLPlayerKit'

然后

$ pod install

或者

$ pod update

运行你工程的 Workspace,就集成完毕了

方式二:非CocoaPods集成

详情请访问:非Cocoapods集成

快速接入项目开始
在需要调用的地方添加

import

初始化 PLPlayerOption

// 初始化 PLPlayerOption 对象
PLPlayerOption *option = [PLPlayerOption defaultOption];

// 更改需要修改的 option 属性键所对应的值
[option setOptionValue:@15 forKey:PLPlayerOptionKeyTimeoutIntervalForMediaPackets];

初始化 PLPlayer

// 初始化 PLPlayer,self.URL是需要播放的直播的URL地址,目前支持 http (url 以 http:// 开头) 与 rtmp (url 以 rtmp:// 开头) 协议。
self.player = [PLPlayer playerWithURL:self.URL option:option];

// 设定代理 (optional)
self.player.delegate = self;
获取播放器的视频输出的 UIView 对象并添加为到当前 UIView 对象的 Subview

//获取视频输出视图并添加为到当前 UIView 对象的 Subview
[self.view addSubview:player.playerView];
开始/暂停操作

// 播放
[self.player play];

// 停止
[self.player stop];

// 暂停
[self.player pause];

// 继续播放
[self.player resume];
播放器状态获取

// 实现 来控制流状态的变更

  • (void)player:(nonnull PLPlayer *)player statusDidChange:(PLPlayerStatus)state {
    // 这里会返回流的各种状态,你可以根据状态做 UI 定制及各类其他业务操作
    // 除了 Error 状态,其他状态都会回调这个方法
    }

  • (void)player:(nonnull PLPlayer )player stoppedWithError:(nullable NSError )error {
    // 当发生错误时,会回调这个方法
    }

    音频部分的特别说明

    因为 iOS 的音频资源被设计为单例资源,所以如果在 player 中做的任何修改,对外都可能造成影响,并且带来不能预估的各种问题。

为了应对这一情况,PLPlayerKit 采取的方式是检查是否可以播放及是否可以进入后台,而在内部不做任何设置。具体是通过扩展 AVAudioSession 来做到的,提供了两个方法,如下:

/*!

  • @description 检查当前 AVAudioSession 的 category 配置是否可以播放音频. 当为 AVAudioSessionCategoryAmbient,
  • AVAudioSessionCategorySoloAmbient, AVAudioSessionCategoryPlayback, AVAudioSessionCategoryPlayAndRecord
  • 中的一种时为 YES, 否则为 NO.
    */
  • (BOOL)isPlayable;

/*!

  • @description 检查当前 AVAudioSession 的 category 配置是否可以后台播放. 当为 AVAudioSessionCategoryPlayback,
  • AVAudioSessionCategoryPlayAndRecord 中的一种时为 YES, 否则为 NO.
    */
  • (BOOL)canPlayInBackground;
    分辨可以检查是否可以播放以及当前 category 的设置是否可以后台播放。

关键字:七牛云存储, plplayer, option, url

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部