版本更新记录

v2.4.0 - 2019-4-8

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

接口变动:

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

v2.3.1 - 2019-2-28

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

v2.3.0 - 2019-2-18

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

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

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

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

v2.2.2 - 2018-12-21
1.解决hls多音轨视频没有声音的问题
2.修复部分加密视频无法播放的问题

v2.2.1 - 2018-12-13
1.修复播放第三方地址出现错误时崩溃问题
2.修复设置自动播放未生效问题

v2.2.0 - 2018-12-10
功能变动:
1.支持纯视频时倍速播放
2.修复硬件播放结束时最后几帧未渲染问题
3.支持播放时调度结果缓存
4.解密线程优化
5.支持获取播放实时数据
6.修复在软解使用surfaceview时画面实际渲染晚于首帧回调的问题
7.优化多音轨选择逻辑,修复某些情况下会选择无声音轨的问题

接口变动:
1.增加获取播放实时数据接口:getMediaRealTimeInfo

v2.1.1 - 2018-11-06
1.修复在调用切换播放地址接口时,如果不更换渲染的surface,可能小概率出现crash的问题

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

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

v2.0.0 - 2018-09-06
功能变动:
1.支持多音轨选择播放
2.支持 hls 解密
3.支持设置音频回调数据的采样率和声道数
4.优化 SurfaceView 前后台切换时的体验
5.修复硬件解码在互动直播场景连麦和下麦花屏问题

接口变动:
1.增加获取当前音轨信息接口:getAudioTracksInfo
2.增加获取当前音轨序号接口:getSelectedAudioTrack
3.增加切换音轨接口:setSelectedAudioTrack
4.增加设置音频回调数据参数接口:setAudioPcmDataConfig

v1.9.0 - 2018-07-26
功能变动:
1.支持循环播放
2.支持镜像
3.基于SDK封装了playerkit组件方便开发者接入
4.优化 TextureView 硬件解码前后台切换,参考playerkit组件中的 AdvanceSingleTextureView

接口变动:
1.增加循环播放接口:setLooping
2.增加镜像接口:setMirror

v1.8.0 - 2018-06-12
功能变动:
1.支持H265硬件解码
2.兼容先有视频后有音频的文件播放
3.支持gradle集成SDK包
4.支持点播webm格式软件解码播放

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

v1.7.0 - 2018-05-08
功能变动:
1.支持点播时外挂字幕
2.视频解码性能和线程管理优化,增强了播放器的兼容性
3.修复x86架构的so库导致的崩溃问题
4.支持点播时hls格式的加密视频解密播放
5.支持预调度拉流地址,有效减少首屏时间

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

v1.6.1 - 2018-04-10
功能变动:
1.支持动态加载so库文件

接口变动:
1.增加so库动态加载配置信息接口:SDKConfig#dynamicLoadingConfig

v1.6.0 - 2018-03-30
功能变动:
1.透传时间戳方案兼容软件解码和硬件解码
2.支持透传自定义数据信息
3.同步时间戳接口支持软解和硬解

v1.5.6 - 2018-03-09
功能变动:
1.支持日志回调上层
2.增加解码卡顿通知

接口变动:
1.增加日志回调接口:SDKConfig#OnLogListener
2.增加解码卡顿通知类型:NEType#NELP_NET_DECODE_BAD

v1.5.5 - 2018-02-27
功能变动:
1.支持数据通过应用层拉流传给SDK进行播放
2.支持自定义MediaDataSource
3.支持数据回调上层进行网络请求
4.支持点播模式时设置缓冲区大小
5.支持缓冲进度回调

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

v1.5.0 - 2018-01-26
功能变动:
1.直播拉流优化
2.增加加密视频切换播放功能
3.增加视频落后音频类型文件兼容
4.去除保持屏幕常亮接口,改由demo示例

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

v1.4.6 - 2018-01-19
功能变动:

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

接口变动:

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

v1.4.0 - 2017-12-7
功能变动:

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

v1.3.1 - 2017-10-17
功能变动:

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

接口变动:

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

v1.3.0 - 2017-08-28
功能变动:

  1. 线程管理优化
  2. 修复播放器多实例时崩溃问题

接口变动:

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

v1.2.9 - 2017-08-14
功能变动:

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

接口变动:

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

v1.2.8 - 2017-07-20
bug修复

v1.2.7 - 2017-07-07
功能变动:

  1. 增加设置flv解密密钥的接口
  2. 支持视频解码后的yuv数据回调
  3. 支持音频解码后的pcm数据回调
  4. 支持精确seek
  5. 代码优化

接口变动:

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

v1.2.6 - 2017-6-13

  1. 支持播放过程中切换播放地址
  2. 修复一些bug

v1.2.4 - 2017-3-30

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

v1.2.3 - 2016-12-21

  1. 支持多实例创建

v1.2.2 - 2016-11-25

  1. 增加拉流超时设置接口
  2. 增加直播流畅模式设置

v1.2.1 - 2016-10-31

  1. 增加音量控制接口

v1.2.0 - 2016-09-26

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

v1.1.0 - 2016-09-05

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

v1.0.9 - 2016-08-15

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

v1.0.8 - 2016-07-26

  1. 支持服务器参数下发
  2. 支持日志保存在本地

v1.0.7 - 2016-06-30

  1. 优化播放器buffer策略

v1.0.6 - 2016-05-24

  1. 修复播放限制策略

v1.0.5 - 2016-04-29

  1. 增加接口保护
  2. 优化播放流畅性
  3. 支持speex播放

v1.0.4 - 2016-03-31

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

v1.0.3 - 2016-01-25

  1. 增加设置缓冲策略接口
  2. 解决直播延时的问题

v1.0.2 - 2015-12-17

  1. 重构代码结构

v1.0.1 - 2015-11-29

  1. 播放器的初始版本,提供基本的播放功能