本文提供媒体播放器组件的发版说明。
媒体播放器组件是 Agora 针对音视频直播场景研发的媒体播放器插件,与 Agora Native SDK(2.4.0 或更高版本)兼容。
该插件通过精简、灵活的 API,帮助开发者在实时音视频直播中,实现媒体资源播放功能,将主播播放的本地或在线媒体资源分享给频道内所有用户欣赏。详见如下文档:
为获取更多直播玩法和更好的实时互动体验,我们推荐你在如下场景中使用媒体播放器组件:
MediaPlayer Kit 仅支持播放 60fps 以下(不含)帧率的视频。
由于 JCenter 即将关闭,自该版本起,Agora 停止将 SDK 包发布到 JCenter,改为发布到 JitPack。关于使用 JitPack 集成,详见集成 MediaPlayer Kit。
为贴近用户使用习惯,自该版本起,MediaPlayer Kit 支持设置音量模式且默认走媒体音量。相比通话音量,媒体音量具有更好的声音表现力且可以调整为 0,更适用于播放音视频。详见 setAudioMode。
seek
方法偶现不生效。该版本于 2021 年 3 月 26 日发布。
修复偶现的崩溃问题。
该版本于 2021 年 3 月 17 日发布。
改进和问题修复如下:
onPositionChanged
事件中 position 参数的单位由秒改为毫秒。seek
后自动播放。seek
和 play
方法定位播放时,偶现画面卡顿。play
播放视频,画面显示为黑屏。该版本于 2021 年 3 月 1 日发布。
改进和问题修复如下:
open
和 seek
方法中设置播放位置的参数单位由秒改为毫秒。getDuration
方法获取的时间单位由秒改为毫秒。该版本于 2021 年 1 月 13 日发布。
该版本修复了与 Agora Native SDK 3.2.0 及以后版本不兼容的问题。
该版本于 2020 年 12 月 31 日发布。
自该版本起,MediaPlayer Kit 包中新增 libagora-ffmpeg.so
文件。如果你将 MediaPlayer Kit 升级到 v1.2.1 或更高版本,请务必将上述文件拷贝至 libAgoraMediaPlayer.so
所在文件夹中。
1. 拓展播放功能
为满足多样化的播放需求,该版本新增如下 API:
changePlaybackSpeed
: 改变播放速度。比如倍速播放。selectAudioTrack
: 选择播放的音轨。2. 在线缓冲提示
该版本新增在线缓冲提示。播放在线媒体资源时,MediaPlayer Kit 每隔一秒触发一次 onPlayBufferUpdated
回调,报告当前缓冲的数据能够支持多久的播放。
3. 获取 Kit 版本号
自该版本起,你可以通过 getPlayerSdkVersion
方法获取当前使用的 MediaPlayer Kit 的版本号。
4. 设置私有选项
为满足开发者的特殊需求,该版本新增 setPlayerOption
和 setPlayerOptionString
方法,以设置 MediaPlayer Kit 的私有选项。一般情况下,你可以直接使用默认的私有选项设置,无需了解该方法的具体用法。
5. 设置日志文件
为支持开发者自定义日志文件,该版本新增如下 API:
setLogFile
: 设置日志文件路径。setLogFilter
: 设置输出日志的过滤等级。1. 媒体附属信息
为解析更多类型的 SEI 数据,如 Agora CDN 直播推流服务中发送的 SEI 数据,自该版本起,onMetaData
回调的触发时机发生改动:
1.2.1 版之前 | 1.2.1 版或之后 |
---|---|
当 MediaPlayer Kit 接收到的 SEI 的 type 为 5 时 | 当 MediaPlayer Kit 接收到的 SEI 的 type 为 5 或 100 时 |
2. 默认音量类型
为贴近用户使用习惯,自该版本起,MediaPlayer Kit 默认走媒体音量。相比通话音量,媒体音量具有更好的声音表现力且可以调整为 0,更适用于播放音视频。
3. 获取播放进度
为支持开发者获取到更精确的播放进度,自该版本起,getPlayPosition
返回的播放进度的单位由秒更改为毫秒。
4. 播放格式
自该版本起,MediaPlayer 新增支持播放更多 codec 格式的音视频:
该版本于 2020 年 8 月 19 日发布。
改进和问题修复如下:
该版本于 2020 年 6 月 15 日发布。
新增特性和改进如下:
该版本于 2020 年 5 月 11 日发布。
该版本修复了部分特殊视频文件播放异常的问题。
该版本于 2020 年 2 月 28 日发布。
这是媒体播放器组件的第一个版本,你可以在项目中使用它实现如下功能:
主播端播放本地或在线音视频,同步分享给频道内的所有用户,实现更多直播玩法。
通过创建多个 AgoraMediaPlayerKit 实例,实现同时播放多个媒体资源,满足主播多种直播需求。
打开、播放、暂停播放、恢复播放、定位播放该媒体资源,实现即时的播放控制。
分别调节本地和远端的播放音量,精准地控制不同阶段的播放音量,同时照顾播放端和订阅端的用户体验。
通过调用相关方法主动获取播放相关的各种信息,如当前播放进度、状态和媒体流的详细信息。
观测器中包含一系列事件,如播放进度、播放状态和定位状态。通过监听这些事件,你可以更好地掌握播放过程。当播放发生异常时,你可以通过这些事件来排查问题。
此外,你还可以监听媒体附属信息、每帧音频帧和每帧视频帧的接收事件,实现更为复杂的功能满足多种场景需求,如使用自定义格式数据、录制音频、录制视频和截图。