输入关键词搜索,支持 AI 答疑

播放器 Android 更新日志

更新时间: 2024/11/19 09:25:37

本文介绍播放器 Android 端的更新日志。

3.4.3 (2024-09-24)

3.3.8 (2023-09-04)

修复偶现的播放器崩溃问题。

3.2.6 (2023-05-06)

  • 硬件解码兼容优化。
  • 命令注入风险问题合规整改。
  • 修复部分已知问题。

3.2.4 (2023-02-03)

问题修复

  • 修复低延时直播场景,偶现的播放器奔溃问题。
  • 修复个别机型,硬件解码失败时无法回退软件解码的问题。

3.2.2 (2022-09-09)

  • 低延时直播支持 B 帧的解码播放。
  • 低延时直播支持 Codec 协商。
  • 低延时直播支持 SEI 端到端延迟解析。

3.2.1 (2022-07-19)

  • 新增首帧、卡顿率数据统计。
  • 区分低延时直播和 CDN 直播播放失败错误码。
  • 修复部分已知问题。
  • 优化低延时直播延时。

3.2.0 (2022-06-22)

  • 修复 Android 11 偶现的 Bug。
  • 优化缓冲逻辑,减少直播发生缓冲的几率。

3.1.3 (2022-04-12)

解决 Android 机型适配问题。

3.1.2 (2022-04-02)

  • 修复 Android 11 偶现的 Bug。
  • 优化缓冲逻辑,减少直播发生缓冲的几率。

3.1.1 (2022-03-18)

NERTC(低延时直播)协议拉流首帧、延时、弱网等关键指标优化。

3.1.0 (2022-01-18)

NERTC(低延时直播)协议拉流首帧能力提升。

3.0.0 (2021-12-29)

  • NERTC(低延时直播)协议拉流弱网能力提升。
  • SDK 权限及个人信息合规整改。
  • 修改偶现 BUG。

2.9.1 (2021-08-27)

  • 补充 NERTC(低延时直播)协议拉流异常回调。
  • 修改偶现 BUG。

2.9.0 (2021-05-18)

  • 支持 NERTC(低延时直播)协议拉流播放。
  • 2.9.0 及以上版本需要从 maven 仓库中引入播放器 SDK

2.8.0 (2021-03-18)

  • 优化统计上报字段。
  • 兼容互动直播 2.0SEI 数据结构。

2.7.1 (2021-02-08)

  • 修复 Android11 系统偶现 Bug

2.7.0 (2021-01-20)

  • 支持加密直播流播放。

2.6.0 (2020-12-6)

  • 支持播放基于 HLS 的多码率自适应点播视频。
  • 优化 GSLB 直播调度模块。

2.5.0 (2020-11-4)

  • 升级 player 内核。
  • 修复偶现 BUG

2.4.5 (2019-12-5)

  • 优化调度请求。
  • 优化统计逻辑。

2.4.4 (2019-9-20)

  • 优化日志写入。
  • 优化调度逻辑。

2.4.2 (2019-7-1)

  • 增加 DNS 拉流灾备。
  • 增加异常情况网络测速机制。
  • 优化日志打印。

2.4.1 (2019-4-25)

  • 增加手动查询并切换播放地址功能。

接口变动:

  • 添加接口 void queryPreloadUrlResult(String url, NEGslbResultListener listener) 查询 CDN 播放地址。
  • 添加接口 void switchWithGslbResult(GlsbSession session, NEGslbServerModel model) 切换播放地址。
  • 添加接口 NEGslbServerModel getCurrentServerModel() 查询当前播放地址信息。

2.4.0 (2019-4-8)

  • 添加多视频(均带有 SEI 时间戳信息)同步播放的功能。
  • 调整第三方库的编译脚本,并更新了预编译库。
  • 用户在未调用 init 接口,就直接 create 时,抛出 UnsupportedOperationException。
  • 部分日志添加实例区分。
  • 优化、兼容前面只有音频、视频,而后来又有视频、音频的流。
  • 添加回报当前播放 position 的回调。
  • 设备没有存储空间时,写 log 避免 crash。
  • 添加自定义 http header 功能。

接口变动:

  • 添加接口 void syncClockTo(NELivePlayer player) 来实现多实例同步播放功能。
  • 添加接口 void setOnCurrentPositionListener(long interval, OnCurrentPositionListener listener) 来监听当前播放位置。
  • NEDataSourceConfig 中添加 Map<String, String> headers 成员,用来配置自定义 header 信息。

2.3.1 (2019-2-28)

  • 修复 hls 点播视频 seek 后,实际位置与设置时间不符的问题。
  • 修复 flv 点播视频 seek 后缓冲时间过长的问题。
  • 提高对部分第三方视频的兼容性。
  • 修复切换拉流 CDN 时,服务端下发参数和 cache 设置不生效的问题。

2.3.0 (2019-2-18)

功能变动

  • 支持使用自定义 DataSource 播放 assets 和 raw 文件夹中的 MP4、flv 格式文件。
  • 日志上传策略优化:开启日志上报时,在 init 接口调用 10s 后上传。
  • 解密逻辑优化,解密步骤合并在播放流程中,减小首屏时间。
  • Android P 深灰名单适配。
  • so 动态加载功能支持第三方服务器。
  • 缓存配置的自定义路径逻辑修改,用户必须对每个视频单独设置路径,并放开对第三方地址的限制。
  • 增加 gslb 缓存强制刷新接口。
  • 修改 GSLB 单次的缓存逻辑,在首条视频拉流失败的情况下移除该条调度结果缓存。
  • 直播硬解及 hls 直播支持追赶。

问题修复

  • 修复直播播放偶现的花屏问题。
  • 修复 seek 到最后,loop 设置可能会失效的问题。
  • 修复开启 SEI 同步时间戳偶现的 crash 问题。
  • 修复视频流中有不支持的音频 codec 时会 crash 的问题。
  • 修复偶现的少量内存泄漏。
  • 修复部分视频 loop 播放时没有从头开始的问题。

接口变动

  • 添加 getSDKInfo 静态接口。
  • 删除旧的解密接口。
  • 废弃 setLooping, isLooping 接口,新增 setLoopCount, getLoopCount 来代替。
  • 添加 setOnAudioFrameFilterListener(NEAudioPcmConfig config, OnAudioFrameFilterListener listener)接口同时配置音频 pcm 回调参数和回调 listener
  • init 参数中新增 thirdUserId,可协助问题排查。
  • 删除 switchContentUrlWithDecryptionToken, switchContentUrlWithDecryptionKey 接口,可使用 switchContentUrl(String url, NEDataSourceConfig config) 接口代替。
  • 删除 prepareAsyncWithDecryptionToken, prepareAsyncWithDecryptionKey 接口,可使用 setDataSource(String path,NEDataSourceConfig config) + prepareAsync() 代替。

2.2.3 (2019-1-22)

  • 优化在无存储权限或者无外部存储时频繁打印错误日志的问题。
  • 修复解码类型回调未上报的问题。
  • 放开对第三方点播地址的本地缓冲限制。
  • 修复在 seek 完成时的回调多次的问题。

2.2.2 (2018-12-21)

  • 解决 hls 多音轨视频没有声音的问题。
  • 修复部分加密视频无法播放的问题。

2.2.1 (2018-12-13)

  • 修复播放第三方地址出现错误时崩溃问题。
  • 修复设置自动播放未生效问题。

2.2.0 (2018-12-10)

功能变动

  • 支持纯视频时倍速播放。
  • 修复硬件播放结束时最后几帧未渲染问题。
  • 支持播放时调度结果缓存。
  • 解密线程优化。
  • 支持获取播放实时数据。
  • 修复在软解使用 surfaceview 时画面实际渲染晚于首帧回调的问题。
  • 优化多音轨选择逻辑,修复某些情况下会选择无声音轨的问题。

接口变动

  • 增加获取播放实时数据接口:getMediaRealTimeInfo

2.1.1 (2018-11-06)

  • 修复在调用切换播放地址接口时,如果不更换渲染的 surface,可能小概率出现 crash 的问题。

2.1.0 (2018-10-29)

功能变动

  • 支持设置是否精确 seek。
  • 支持设置自动重试。
  • 支持设置本地缓存。
  • 增加私有化配置功能。
  • 调用 switch 类接口后,保留非 url 相关的配置参数。
  • 修复 switch 及 reset 接口在某些极端情况下可能会 block 很久的问题。
  • 设置音频 pcm 回调参数后,仅影响回调的 PCM 数据。
  • 修复下载到本地的 hls 加密视频可能无法播放的问题。
  • 修复循环播放时最后一帧画面会卡一下的问题。

接口变动

  • 增加设置播放地址和播放配置项接口:setDataSource(url, config)
  • 增加切换播放地址和播放配置项接口:switchContentUrl(url, config)
  • 增加设置是否精确 seek 接口:setAccurateSeek
  • 增加配置自动重试信息接口:setAutoRetryConfig
  • 废弃接口:prepareAsyncWithDecryptionToken
  • 废弃接口:prepareAsyncWithDecryptionKey
  • 废弃接口:switchContentUrlWithDecryptionToken
  • 废弃接口:switchContentUrlWithDecryptionKey
  • 移除直播视频解析错误接口:setOnVideoParseErrorListener

2.0.0 (2018-09-06)

功能变动

  • 支持多音轨选择播放。
  • 支持 hls 解密。
  • 支持设置音频回调数据的采样率和声道数。
  • 优化 SurfaceView 前后台切换时的体验。
  • 修复硬件解码在互动直播场景连麦和下麦花屏问题。

接口变动

  • 增加获取当前音轨信息接口:getAudioTracksInfo
  • 增加获取当前音轨序号接口:getSelectedAudioTrack
  • 增加切换音轨接口:setSelectedAudioTrack
  • 增加设置音频回调数据参数接口:setAudioPcmDataConfig

1.9.0 (2018-07-26)

功能变动

  • 支持循环播放。
  • 支持镜像。
  • 基于 SDK 封装了 playerkit 组件方便开发者接入。
  • 优化 TextureView 硬件解码前后台切换,参考 playerkit 组件中的 AdvanceSingleTextureView。

接口变动

  • 增加循环播放接口:setLooping
  • 增加镜像接口:setMirror

1.8.0 (2018-06-12)

功能变动

  • 支持 H265 硬件解码。
  • 兼容先有视频后有音频的文件播放。
  • 支持 gradle 集成 SDK 包。
  • 支持点播 webm 格式软件解码播放。

接口变动

  • 常量类 NEType 拆分为 NEPlayStatusType、NEKeyVerifyResultType、NEErrorType、NEBufferStrategy
  • 增加是否支持 H265 解码回调接口:NESDKConfig#isSupportH265Decode

1.7.0 (2018-05-08)

功能变动

  • 支持点播时外挂字幕。
  • 视频解码性能和线程管理优化,增强了播放器的兼容性。
  • 修复 x86 架构的 so 库导致的崩溃问题。
  • 支持点播时 hls 格式的加密视频解密播放。
  • 支持预调度拉流地址,有效减少首屏时间。

接口变动

  • 增加设置点播时本地外挂字幕文件接口:setSubtitleFile
  • 增加设置字幕回调的接口:setOnSubtitleListener
  • 增加添加预调度拉流链接地址的接口:addPreloadUrls
  • 增加移除预调度拉流链接地址的接口:removePreloadUrls
  • 增加查询预调度拉流链接地址的结果信息的接口:queryPreloadUrls
  • 增加预调度刷新间隔参数设置接口:SDKConfig#refreshPreLoadDuration
  • 增加设置是否开启同步时间戳、同步内容信息回调的接口:setSyncOpen

1.6.1 (2018-04-10)

功能变动

  • 支持动态加载 so 库文件。

接口变动

  • 增加 so 库动态加载配置信息接口:SDKConfig#dynamicLoadingConfig。

1.6.0 (2018-03-30)

功能变动

  • 透传时间戳方案兼容软件解码和硬件解码。
  • 支持透传自定义数据信息。
  • 同步时间戳接口支持软解和硬解。

1.5.6 (2018-03-09)

功能变动

  • 支持日志回调上层。
  • 增加解码卡顿通知。

接口变动

  • 增加日志回调接口:SDKConfig#OnLogListener
  • 增加解码卡顿通知类型:NEType#NELP_NET_DECODE_BAD

1.5.5 (2018-02-27)

功能变动

  • 支持数据通过应用层拉流传给 SDK 进行播放。
  • 支持自定义 MediaDataSource
  • 支持数据回调上层进行网络请求。
  • 支持点播模式时设置缓冲区大小。
  • 支持缓冲进度回调。

接口变动

  • 增加初始化接口:NELivePlayer.init(context,config);
  • 播放器实例创建接口变更:由 NELivePlayer.create(mContext) 变成 NELivePlayer.create()
  • 增加设置自定义 MediaDataSource 接口:setDataSource(mediaDataSource)
  • 增加设置缓冲区大小接口:setBufferSize(size)

1.5.0 (2018-01-26)

功能变动

  • 直播拉流优化。
  • 增加加密视频切换播放功能。
  • 增加视频落后音频类型文件兼容。
  • 去除保持屏幕常亮接口,改由 demo 示例。

接口变动

  • 解密信息接口变更:由 initDecryption 变成 prepareAsyncWithDecryptionToken
  • 解密秘钥接口变更:由 setDecryptionKey 变成 prepareAsyncWithDecryptionKey
  • 增加加密视频解密信息切换播放接口:switchContentUrlWithDecryptionToken
  • 增加加密视频解密密钥切换播放接口:switchContentUrlWithDecryptionKey
  • 删除保持屏幕常亮接口:setScreenOnWhilePlaying

1.4.6 (2018-01-19)

功能变动

  • 增加时间戳回调功能,方便应用层的逻辑与播放器播放进行同步。
  • 音视频播放超时时间效果优化。
  • 增加直播延时追赶模式,用于直播出现延时时进行快速播放进行追赶。

接口变动

  • 增加当前播放的时间戳回调接口:setOnCurrentRealTimeListener
  • 增加当前播放的同步时间戳回调接口:setOnCurrentSyncTimestampListener
  • 增加获取正在播放的时间戳接口:getCurrentRealTime
  • 增加获取正在播放的同步时间戳接口:getCurrentSyncTimestamp
  • 增加直播延时追赶模式:NELPDELAYPULLUP

1.4.0 (2017-12-7)

功能变动

  • 视频中频繁切分辨率时 SDK 内部会重置播放器重新拉流播放。
  • 修复先音频后视频的流无法解析问题,解析时间通过服务器动态下发。
  • 修复偶现空指针异常导致崩溃问题。
  • 修复在某些网络情况下视频解密偶现失败的问题。

1.3.1 (2017-10-17)

功能变动

  • 支持播放时进行清晰度切换。
  • 软件解码时在 Android 4.0 以上版本支持旋转视频播放和硬件解码在 Android 5.0 以上版本支持旋转视频播放。
  • 重构播放器资源释放广播通知。
  • 播放时的错误回调中增加错误码(错误码是在 OnErrorListener 的 onError 的 what)。
  • 拉流播放时的 http 请求的状态码回调(状态码在 OnInfoListener 的 onInfo 的 what)。

接口变动

  • 增加播放器回调接口类:NECallback
  • 增加用户视频清晰度切换的播放信息类:NEDefinitionData
  • 增加设置是否自动切换清晰度接口:setAutoSwitchDefinition
  • 增加视频清晰度解析监听注册接口:setOnDefinitionListener
  • 增加播放过程中切换清晰度接口:switchDefinition
  • 播放器的常量移到新增的常量类:NEType

1.3.0 (2017-08-28)

功能变动

  • 线程管理优化。
  • 修复播放器多实例时崩溃问题。

接口变动

  • 注册获取视频帧数据的回调接口变更:由 registerGetVideoRawDataCB 变成 setOnVideoFrameFilterListener
  • 注册获取音频帧数据的回调接口变更:由 registerGetAudioRawDataCB 变成 setOnAudioFrameFilterListener
  • 视频数据的回调变更:由 vCallback 变成 OnVideoFrameFilterListener
  • 音频数据的回调变更:由 aCallback 变成 OnAudioFrameFilterListener
  • 密钥获取结果的回调变更:由 Callback 变成 OnDecryptionListener
  • 播放器创建方式变更:由 new NEMediaPlayer(mContext) 变成 NELivePlayer.create(mContext)

1.2.9 (2017-08-14)

功能变动

  • so 库精简进行体积优化。
  • 修复在某些机型设备音视频流上设置到指定时间点播放慢的问题。

接口变动

  • 删除设置日志路径 setLogPath 和级别 setLogLevel 接口。
  • sdk 包对外接口类移至 sdk 包下。

1.2.8 (2017-07-20)

bug 修复。

1.2.7 (2017-07-07)

功能变动

  • 增加设置 flv 解密密钥的接口。
  • 支持视频解码后的 yuv 数据回调。
  • 支持音频解码后的 pcm 数据回调。
  • 支持精确 seek
  • 代码优化。

接口变动

  • 创建播放器实例时需要传入标识 videoview 上下文信息的 Context。
  • initDecryption 接口去掉上下文信息的参数。
  • prepareAsync 接口去掉上下文信息的参数。

1.2.6 (2017-6-13)

  • 支持播放过程中切换播放地址。
  • 修复一些 bug

1.2.4 (2017-3-30)

  • 支持 https 协议拉流。
  • 增加直播极速模式。
  • 支持 flv 加密视频的解密播放功能。
  • 修复一些 bug

1.2.3 (2016-12-21)

  • 支持多实例创建。

1.2.2 (2016-11-25)

  • 增加拉流超时设置接口。
  • 增加直播流畅模式设置。

1.2.1 (2016-10-31)

  • 增加音量控制接口。

1.2.0 (2016-09-26)

  • 整体结构优化。
  • 增加视频码流解析失败时的消息上报。

1.1.0 (2016-09-05)

  • arm 架构支持 speex 解码。
  • 采用广播接收的形式来接收资源释放成功的通知(见开发指南)。
  • 内存优化。

1.0.9 (2016-08-15)

  • 增加倍数播放的功能(仅适用于点播)。

1.0.8 (2016-07-26)

  • 支持服务器参数下发。
  • 支持日志保存在本地。

1.0.7 (2016-06-30)

  • 优化播放器 buffer 策略。

1.0.6 (2016-05-24)

  • 修复播放限制策略。

1.0.5 (2016-04-29)

  • 增加接口保护。
  • 优化播放流畅性。
  • 支持 speex 播放。

1.0.4 (2016-03-31)

  • 增加第一帧画面显示时的消息通知。
  • 增加资源异步释放结束后的消息通知。
  • 优化播放流畅性。

1.0.3 (2016-01-25)

  • 增加设置缓冲策略接口。
  • 解决直播延时的问题。

1.0.2 (2015-12-17)

  • 重构代码结构。

1.0.1 (2015-11-29)

  • 播放器的初始版本,提供基本的播放功能。
此文档是否对你有帮助?
有帮助
去反馈
  • 3.4.3 (2024-09-24)
  • 3.3.8 (2023-09-04)
  • 3.2.6 (2023-05-06)
  • 3.2.4 (2023-02-03)
  • 3.2.2 (2022-09-09)
  • 3.2.1 (2022-07-19)
  • 3.2.0 (2022-06-22)
  • 3.1.3 (2022-04-12)
  • 3.1.2 (2022-04-02)
  • 3.1.1 (2022-03-18)
  • 3.1.0 (2022-01-18)
  • 3.0.0 (2021-12-29)
  • 2.9.1 (2021-08-27)
  • 2.9.0 (2021-05-18)
  • 2.8.0 (2021-03-18)
  • 2.7.1 (2021-02-08)
  • 2.7.0 (2021-01-20)
  • 2.6.0 (2020-12-6)
  • 2.5.0 (2020-11-4)
  • 2.4.5 (2019-12-5)
  • 2.4.4 (2019-9-20)
  • 2.4.2 (2019-7-1)
  • 2.4.1 (2019-4-25)
  • 2.4.0 (2019-4-8)
  • 2.3.1 (2019-2-28)
  • 2.3.0 (2019-2-18)
  • 2.2.3 (2019-1-22)
  • 2.2.2 (2018-12-21)
  • 2.2.1 (2018-12-13)
  • 2.2.0 (2018-12-10)
  • 2.1.1 (2018-11-06)
  • 2.1.0 (2018-10-29)
  • 2.0.0 (2018-09-06)
  • 1.9.0 (2018-07-26)
  • 1.8.0 (2018-06-12)
  • 1.7.0 (2018-05-08)
  • 1.6.1 (2018-04-10)
  • 1.6.0 (2018-03-30)
  • 1.5.6 (2018-03-09)
  • 1.5.5 (2018-02-27)
  • 1.5.0 (2018-01-26)
  • 1.4.6 (2018-01-19)
  • 1.4.0 (2017-12-7)
  • 1.3.1 (2017-10-17)
  • 1.3.0 (2017-08-28)
  • 1.2.9 (2017-08-14)
  • 1.2.8 (2017-07-20)
  • 1.2.7 (2017-07-07)
  • 1.2.6 (2017-6-13)
  • 1.2.4 (2017-3-30)
  • 1.2.3 (2016-12-21)
  • 1.2.2 (2016-11-25)
  • 1.2.1 (2016-10-31)
  • 1.2.0 (2016-09-26)
  • 1.1.0 (2016-09-05)
  • 1.0.9 (2016-08-15)
  • 1.0.8 (2016-07-26)
  • 1.0.7 (2016-06-30)
  • 1.0.6 (2016-05-24)
  • 1.0.5 (2016-04-29)
  • 1.0.4 (2016-03-31)
  • 1.0.3 (2016-01-25)
  • 1.0.2 (2015-12-17)
  • 1.0.1 (2015-11-29)