iOS Media SDK在2.0.0版本对接口、方法和类进行了大幅改动。如果您正在使用2.0.0以下版本,建议通过本文提供的方法升级至2.0.0及以上的版本。
1.x.x版本文档详细内容,请参见iOS应用端接入。
重要变化
重要变化 | 1.x.x版本 | 2.x.x版本 |
播放器和语音对讲拆分。 | 所有类型播放器和对讲功能都封装在 | 按功能拆分为:
|
播放器与 | 播放器和语音对讲所有功能都封装在 | 不再提供 |
API变化细节(建议通过文本搜索来定位)
全局组件
变更细节 | 1.x.x | 2.x.x | 修改建议 |
新增全局LVMedia组件。 | 无。 |
| 更新包名与类名。 |
接口新增:日志级别设置。 | 无。 |
| 全局日志级别设置接口。 |
直播播放器
变更细节 | 1.x.x | 2.x.x | 修改建议 |
包名与类名变更。 |
|
| 更新包名与类名。 |
播放器不再提供 |
| 播放器与渲染View解耦合。 | 需要在VC中创建LVGlkView,并在VC的viewDidAppear时调用 |
接口新增:设置为加密的rtmp直播地址。 | 无。 |
| 无。 |
设置加密的直播数据源中设置的decryptIv和decryptKey从Base64解码后的二进制数据改为解码器前的字符串。 |
|
| 重要 将Base64解码去除,由SDK内部来完成对Base64字符串的解码。 |
指令接口,如 | 无。 | 返回值枚举:
| 可以通过判断返回值作为接口操作是否成功的判断。 |
新增接口:获取当前码流的宽高。 | 无。 |
| 无。 |
类名与方法名变更:设置解码器策略和获取解码器类型。 |
|
| 修改类名与方法名。 |
接口移除:P2P全局初始化和释放。 |
| 无。 | 不需要该动作。 |
接口移除:所有播放器触发stop动作。 |
| 无。 | 从2.0.0开始,自行停止对应的播放器即可,该接口有替代实现,无需有该动作。 |
属性移除:激活音频管理器。 |
| 无。 | 从2.0.0开始,SDK因为将对讲与播放器剥离,只有在使用对应功能时才会触发录音权限,该接口已无意义。 |
接口变更:音频焦点接口。 |
|
| 从2.0.0开始,SDK不再支持多路音频同时播放,最多只有一路音频播放。当存在多路观看(如NVR多分屏)场景时,请交由用户来调用播放器的 |
接口名调整:设置播放器缓存。 |
|
| 接口名调整。 |
接口名调整:设置播放器抗抖动最大缓冲区时长。 |
|
| 接口名调整。 |
接口移除:VC中屏蔽语音对讲。 |
| 无。 | 从2.0.0开始,播放器和语音对讲已按功能做了拆分,不再耦合,该接口已无意义。 |
接口名调整:截图。 |
|
| 接口名调整。 |
接口新增:截图到文件。 | 无。 |
| 无。 |
接口名调整:边播边录。 |
|
| 接口名调整。 |
属性移除:取消后台切换自动恢复。 |
| 无。 | 从2.0.0开始,因不再提供VC,相应的后台监听或恢复逻辑也移除,需要用户在自己的VC中按照需求处理后台切换。 |
属性变更:帧率或码率。 |
|
| 属性改为接口。 |
属性变更:连接类型。 |
|
| 属性改为接口。 |
接口变更:日志级别设置。 |
|
| 从2.0.0开始,设置日志级别请用LVMedia全局对象的 |
属性变更:静音。 |
|
| 由属性改为接口。 |
属性变更:设置画面缩放模式接口参数调整。 |
|
| 由属性改为接口,修改参数名和类名。 |
属性变更:播放器状态。 |
|
| 属性改为接口,从2.0.0开始iOS的状态机发生了调整,详情请参见状态介绍。 |
代理变更: |
|
|
|
属性变更:设置播放器内/外部渲染模式。 |
|
| 属性变更为接口,除了支持视频的外部渲染外还支持音频的外部播放。 |
新增接口:获取一帧YUV数据接口。 | 无。 |
| 自定义渲染方式不再回调中返回数据,需要在渲染线程中来获取。 |
点播播放器
变更细节 | 1.x.x | 2.x.x | 修改建议 |
包名与类名变更。 |
|
| 更新包名与类名。 |
播放器不再提供ViewController。 |
| 播放器与渲染View解耦合。 | 需要在VC中创建LVGlkView,并在VC的viewDidAppear时调用 |
接口新增:设置rtmp点播地址及HLS点播地址数据源。 | 无。 |
| 无。 |
设置加密的直播数据源中设置的decryptIv和decryptKey从Base64解码后的二进制数据改为解码器前的字符串。 |
|
| 重要 将Base64解码去除,由SDK内部来完成对Base64字符串的解码。 |
指令接口,如 | 无。 | 返回值枚举:
| 可以通过判断返回值作为接口操作是否成功的判断。 |
接口名调整:恢复播放。 |
|
| 修改接口名。 |
接口名调整:逐帧播放。 |
|
| 修改接口名。 |
接口名调整:seek到对应的时间。 |
|
| 修改接口名。 |
新增接口:获取当前码流的宽高。 | 无。 |
| 无。 |
类名与方法名变更:设置解码器策略和获取解码器类型。 |
|
| 修改类名与方法名。 |
接口移除:P2P全局初始化和释放。 |
| 无。 | 不需要该动作。 |
接口移除:所有播放器触发stop动作。 |
| 无。 | 从2.0.0开始,自行停止对应的播放器即可,该接口有替代实现,不需要该动作。 |
属性移除:激活音频管理器。 |
| 无。 | 从2.0.0开始,SDK因为将对讲与播放器剥离,只有在使用对应功能时才会触发录音权限,该接口已无意义。 |
接口变更:音频焦点接口。 |
|
| 从2.0.0开始,SDK不再支持多路音频同时播放,至多只有一路音频播放。当存在多路观看(如NVR多分屏)场景时,请交由用户来调用播放器的 |
接口移除:设置播放器缓存。 |
| 无。 | 该接口仅在直播播放器中支持,点播播放器移除。 |
接口移除:设置播放器抗抖动最大缓冲区时长。 |
| 无。 | 该接口仅在直播播放器中支持,点播播放器移除。 |
接口移除:VC中屏蔽语音对讲。 |
| 无 | 从2.0.0开始,播放器和语音对讲已按功能做了拆分,不再耦合,该接口已无意义。 |
接口名调整:截图。 |
|
| 接口名调整。 |
接口新增:截图到文件。 | 无。 |
| 无。 |
接口名调整:边播边录。 |
|
| 接口名调整。 |
属性移除:取消后台切换自动恢复。 |
| 无。 | 从2.0.0开始,因不再提供VC,相应的后台监听或恢复逻辑也移除,需要用户在自己的VC中按照需求处理后台切换。 |
属性变更:帧率或码率。 |
|
| 属性改为接口。 |
属性变更:连接类型。 |
|
| 由属性改为接口。 |
接口变更:日志级别设置。 |
|
| 从2.0.0开始,设置日志级别请用LVMedia全局对象的setLogLevel接口完成。 |
属性变更:静音。 |
|
| 由属性改为接口。 |
属性变更:播放速度。 |
|
| 由属性改为接口。 |
属性变更:文件总时长和当前时长。 |
|
| 由属性改为接口。 |
属性变更:设置画面缩放模式接口参数调整。 |
|
| 由属性改为接口,修改参数名和类名。 |
属性变更:播放器状态。 |
|
| 属性改为接口,从2.0.0开始iOS的状态机发生了调整,详情请参见状态介绍。 |
代理变更: |
|
|
|
属性变更:设置播放器内或外部渲染模式。 |
|
| 属性变更为接口,除了支持视频的外部渲染外还支持音频的外部播放。 |
新增接口:获取一帧YUV数据接口。 | 无。 |
| 自定义渲染方式不再回调中返回数据,需要在渲染线程中来获取。 |
语音对讲
变更细节 | 1.x.x | 2.x.x | 修改建议 |
包名与类名变更。 |
|
| 更新包名与类名。 |
接口变更:初始化接口。 |
|
| 从2.0.0 SDK开始,音频参数要求在创建对讲实例时传入。 |
接口变更: 与指定设备(通过URL)进行对讲。 |
|
| 从2.0.0 SDK开始对讲模式提供单独的接口来设置。 |
新增接口:对讲模式设置。 | 无。 |
| 从2.0.0 SDK开始增加DoubleTalkWithLive模式:App端和设备端都需要同时做采音和放音,设备端必须支持AEC,否则不建议使用该方案。将会使用设备直播通道的声音进行播放,要求必须有已开播的直播通道,可通过 |
指令接口,如 | 无。 | 返回值枚举:
| 可以通过判断返回值作为接口操作是否成功的判断。 |
新增接口:静音。 | 无。 |
| 无。 |
属性变更:增益和变声。 |
|
| 属性变为方法。 |
接口移除:发送设备端接收的录音数据。 |
| 无。 | 从2.0.0 开始,SDK内部会进行数据的发送,该接口无意义。 |
接口变更:设置对讲监听器。 |
|
|
|
接口变更:外部变声实现。 | 通过在调用 |
| 开启外部变声并且实现外部对讲变声代理的 |