音视频通话 Android 端更新日志

[5.8.0] - 2018-11-13

新增

1. 新增上传兴趣点进行手动对焦

2. 新增白板代理功能

修复

1. 修复部分arm64架构手机只采用armV7架构SDK后偶现的硬件编码崩溃问题

[5.6.0] - 2018-08-30

新增

1. 新增外部音视频输入接口

2. 音视频服务端录制功能全面升级

变更

1. 录制能力

2. 音频双讲效果优化

[5.5.0] - 2018-08-07

变更

1. 优化视频绘制

2. 移除啸叫抑制 AVChatParameters#KEY_AUDIO_HOWLING_SUPPRESS

[5.4.0] - 2018-07-10

新增

1. 多人音视频服务端录制开放

2. 全员静音功能,禁止播放所有远端音频流

3. 丰富伴音功能,支持进度条控制和云端文件播放

4. 移动端新增通过兴趣点坐标设置实现手动曝光, AVChatCameraCapturer#setMeteringAreas.

5. 支持分开设置伴音发送音量&播放音量

6. 优化Camera被抢占后自动恢复流程

[5.2.0] - 2018-05-24

新增

1. 深度优化音频带宽利用率,保障更佳音视频通话质量

2. 音乐模式机型适配与低带宽场景深度优化

修复

1. 修复已知问题

[5.0.0] -2018-03-29

新增

1. 高清音乐模式全面升级,针对音乐教学陪练场景定制优化

2. 互动直播音视频连麦人数提升

3. 新增互动直播场景下,主播设置某一个视频连麦者为主画面的功能

4. 新增服务器超时断开时,客户端自动重连

5. 新增极端网络下关闭视频的回调

变更

1. 开启视频模块时移除摄像头权限检查

2. 移除Camera接口中相关对焦API

修复

1. 修复部分手机摄像头对焦兼容性问题

[4.9.0] -2018-02-11

新增

1. 新增视频屏幕共享场景调控策略,支持通话过程调控策略动态切换

变更

1. 删除WebRTC与私有互通开关,已默认支持各端与WebRTC的互通

修正

1. 修复偶现伴音崩溃问题

[4.7.3] -2018-01-25

修复

1. 优化与V4.2.0之前版本的视频通话效果,提升音视频服务体验。

[4.7.1] -2018-01-17

修复

1. 修复已知问题,优化音频抗丢包能力。

[4.7.0] -2018-01-09

新增

1. 新增耳返功能。当主播想要从耳机中听到自己的声音时,可以开启耳返。一般使用在主播开启伴音,主播戴上耳机,随着伴奏说话唱歌,可以从耳机中实时听到融合了音乐和自己人声的声音。

2. 全面提升音视频抗丢包能力,优化弱网下音视频表现。

3. 新增房间关闭错误码 AVChatResCode#ERROR_DISCONNECT_SERVER_CHANNEL_CLOSED 。当通过 Server RESTful API 强制解散音视频房间时会收到通知。

修复

1. 修复已知问题。

[4.5.1] - 2017-11-30

修正

1. 修复 AVChatManager#sendControlCommand 在某些情况下引起崩溃问题

[4.5.0] - 2017-11-23

新增

1. 新增麦克风静音 AVChatManagerLite#setMicrophoneMute AVChatManagerLite#isMicrophoneMute

2. 网络探测优化, 新增不同分辨率等级网络探测 AVChatNetDetectType

修正

1. 修复Meizu M5 Note 伴音创建解码器异常问题

2. 修复Meizu MX4 Pro 语音采集问题

[4.3.0] - 2017-10-13

新增

1. 优化视频 QoS 调控策略,通过码率、帧率和分辨率的自动调节保证用户体验,并且可以通过方法 AVChatManagerLite#setVideoQualityStrategy 选择偏好的调控策略为质量优先或流畅优先。

2. 网络探测新增视频包探测 AVChatNetDetector#startNetDetect

3. 网络质量新增AVChatNetworkQuality#VERY_BAD档位,在此网络下建议不要发视频数据。

4. 视频采集新增 Camera2 支持,通过 AVChatVideoCapturerFactory#createCamera2Capturer 创建采集对象。

5. 统计数据回调新增部分字段,参考 AVChatSessionStats

变更

1. 音视频接口变更:

2. 外部语音数据输入变更 :

[4.1.0] - 2017-08-08

新增

1. 新增外部语音数据输入:

2. 新增外部视频数据输入:

3. 新增视频清晰度540P设置: AVChatVideoQuality#QUALITY_540P.

4. 新增 Android 兼容性适配接口, 对于开发过程中发现的兼容性问题可以通过此接口进行适配, 可适配参数参考使用手册:

5. 新增通话场景模式, 自适应高清音乐模式: AVChatChannelProfile#CHANNEL_PROFILE_HIGH_QUALITY_MUSIC_ADAPTIVE, 各种模式介绍参考使用手册.

变更

1. 从 3.6.0 版本开始我们提供了新的接口来实现音视频通话, 新版本移除了以下已经废弃接口:

2. 视频数据格式从内部类变为单独类: AVChatVideoFrame#AVChatImageFormat => AVChatImageFormat.

3. 视频画布变更:

4. 加入频道回调增加连接时长信息:AVChatStateObserver#onJoinedChannel(int code, String audioFile, String videoFile, int elapsed).

修正

1. 修复已知问题.

[3.9.1] - 2017-06-29

新增

1. 新增WebRTC支持: AVChatNotifyOption#webRTCCompat, AVChatManager#createRoom。有WebRTC客户端参与的房间中需要打开该开关, 目前WebRTC为 Beta 版本,如果没有WebRTC客户端参与,不要打开该开关

修正

1. 修复已知问题。

[3.9.0] - 2017-06-23

新增

1. 优化音乐效果。

2. 优化弱网环境下语音效果。

3. 互动直播新增自定义布局设置: AVChatParameters#KEY_SESSION_LIVE_PIP_MODE_ENHANCE

4. 新增前置摄像头镜像,支持本地预览和发送镜像处理: AVChatParameters#KEY_VIDEO_LOCAL_PREVIEW_MIRROR, AVChatParameters#KEY_VIDEO_TRANSPORT_MIRROR

5. 新增语音处理自动增益开关, 支持打开和关闭语音自动增益: AVChatParameters#KEY_AUDIO_EFFECT_AUTOMATIC_GAIN_CONTROL

6. 新增啸叫抑制开关, 默认关闭啸叫抑制: AVChatParameters#KEY_AUDIO_HOWLING_SUPPRESS

7. 新增互动直播状态通知: AVChatStateObserver#onLiveEvent

8. 增加实时统计信息通知: AVChatStateObserver#onSessionStats

9. 新增场景设置, 可以在高清语音开启时设置音乐场景, AVChatManager#setChannelProfile

变更

1. 网络质量通知新增当前网络的详细信息: AVChatStateObserver#onNetworkQuality

2. 视频数据处理回调变更:

3. 视频采集模块变更:

[3.7.0] - 2017-05-10

新增

1.SDK优化了音视频相关的统计功能,方便实时排查音视频通话过程中遇到的问题,并对相关流程进行优化,提高稳定性,建议开发者更新此版本。

[3.6.0] - 2017-04-27

新增

1. 网络通话新增一套操作接口,便于实现通话前视频预览。

2. 新增控制指令发送接口,可以通过此接口发送正忙,音视频切换等操作,同时用户也可以自定义控制指令通过此接口发送。 AVChatManager#sendControlCommand

3. 支持指定发送前视频画面裁剪比例,可以指定为 不裁剪、16:9、4:3 和 1:1 裁剪。详细参考 AVChatParametersAVChatOptionalConfigAVChatVideoCropRatio

4. 支持音视频过程中动态切换视频采集的方向,满足互动直播的横竖屏动态切换需求。 详细参考 AVChatParametersAVChatOptionalConfigAVChatVideoCaptureOrientation

变更

1. 移除互动直播动态开启和关闭接口以及相应的回调。

2. 双人通话相关接口添加 chatId 参数,需要明确操作的通话ID。

3. 当前会话有效性接口变更: AVChatManager#isCurrentChatValid => AVChatManager#getCurrentChatId

4. 多人会话离开接口添加 roomName 参数,离开会话时需要指定房间名。

5. 网络通话可选参数变更,目前参数分为两种,部分参数仅支持通话前设置,部分参数通话前和通话中都可以设置。 详细可以参考 AVChatParameters, 此类定义了网络通话所有可设置参数,包括参数名,参数值类型,参数是否可以运行时设置以及参数是否可读可写等特性。

6. 双人通话存在多通时通知逻辑变更。当有双人通话正在进行时,如果其他通话呼叫进来,SDK会通知到上层,上层需要选择挂断原有通话或者通过AVChatManager#sendControlCommand通知新呼叫通话正忙。

7. 音视频切换接口变更。目前 AVChatManager#requestSwitchToVideo, AVChatManager#requestSwitchToAudio, AVChatManager#ackSwitchToVideo 相关接口已标记为废弃,未来会移除,接口仅仅提供信令层的传输,当收到相关信令通知事件后,需要通过相应的视频操作接口来实现音视频的切换。后续如果需要实现音视频切换信令层的通知可以使用 AVChatManager#sendControlCommand 接口实现。

8. 双人通话超时监听注册变更。当不注册超时监听时,内部不提供超时机制,后续建议上层自定义实现超时机制,目前SDK内部呼出和呼入超时时间为45秒。 超时事件发生时将通知会话ID, observeTimeoutNotification(Observer<Long> observer, boolean register)

修正

1. 修复无摄像头权限时切换摄像头导致崩溃

2. 修复视频画面按比例裁剪在超低分辨率时容易导致无法绘制问题

3. 修复开启本地录制失败时返回值为成功的问题

[3.5.5] - 2017-03-29

新增

1. 网络通话新增横屏参数: AVChatOptionalConfig#videoCaptureOrientation.

2. 网络通话新增16:9裁剪参数:AVChatParameters#KEY_VIDEO_CROP_RATIO.

[3.5.0] - 2017-03-15

新增

1. 音视频通话持续呼叫:若被叫方不在线,主叫方对其持续进行呼叫,被叫方会收到消息推送。

2. 网络通话更新:

变更

1. 网络通话与本地系统来电交互处理优化,从音视频SDK移到Demo中进行处理,便于第三方上层处理系统电话和网络通话的交互:

2. 网络通话视频聊天增加预览功能:

3. 网络通话视频帧和音频帧数据处理接口变更:

4. 网络通话音视频录制接口变更:

5. 网络通话过程中的状态变化监听接口变更:

[3.4.0] - 2017-01-20

变更

1. 网络通话语音设备变更通知: AVChatStateObserver#onAudioDeviceChanged 。

[3.3.0] - 2016-12-28

新增

1. 网络通话新增伴音功能

2. 网络通话新增网络探测功能

3. 网络通话新增高清语音支持: AVChatOptionalConfig#enableAudioHighQuality

4. 网络通话新增人声检测支持: AVChatOptionalConfig#enableAudioDtx

变更

1. 网络通话移除自动增益开关: AVChatOptionalConfig#setAudioEffectAGCMode

[3.2.0] - 2016-11-30

新增

1. 添加64位支持。

变更

1. 网络通话最低支持版本为Android 4.1 (Jelly Bean)。

[3.0.0] - 2016-10-20

新增

1. 新增实时汇报正在说话用户声音强度通知 AVChatStateObserver#onReportSpeaker

2. 新增语音播放设备改变通知 AVChatStateObserver#onAudioOutputDeviceChanged

变更

1. 网络音视频通话进行时, 如果多端登录被踢掉会自动挂断网络通话。

[2.9.0] - 2016-09-19

新增

1. 网络通话视频采集数据回调接口 AVChatStateObserver#onVideoFrameFilter, 可用于视频数据的美颜等其他的自定义处理。

2. 网络通话语音采集数据回调接口 AVChatStateObserver#onAudioFrameFilter, 可用于语音数据的变声等其他的自定义处理。

[2.7.0] - 2016-08-11

新增

1. 添加 SDK 发包频控控制。

2. 网络通话新增错误码定义:AVChatResCode。

3. 网络通话AVChatStateObserver:

4. 网络通话支持通话前帧率设置。

5. 网络通话支持动态切换清晰度:AVChatParameters#KEY_VIDEO_QUALITY。

变更

1. 网络通话视频绘制变更:

2. 网络通话设备事件定义 AVChatDeviceEvent 去掉画布相关事件。

[2.6.0] - 2016-07-25

新增

1. 网络通话新增语音处理模式设置: AVChatAudioEffectMode:

2. 网络通话新增通话过程中参数设置 AVChatParameters:

3. 网络通话接口AVChatManager新增:

变更

1. 网络通话功能不再支持Android 4.0以下系统。

2. 网络通话接口变更 AVChatStateObserver:

3. 网络通话视频清晰度定义变更 AVChatVideoQuality:

4. 网络通话可选设置参数变更 AVChatOptionalConfig:

5. 网络通话接口AVChatManager变更:

[2.5.0] - 2016-07-08

变更

1. SDK 网络通话Jar包调整:nim-sdk.jar、nim-avchat.jar、nrtc-sdk.jar。

[2.4.0] - 2016-06-02

变更

1. 提高网易云通信服务进程系统优先级,降低被系统杀死的概率。

2. 适配 Android M+ 外部存储读写权限开启后,日志写入无法立即生效的问题。

3. 网络通话加入房间状态回调变更,新增服务器录制视频文件名,删除服务器文件录制路径参数:AVChatStateObserver#onJoinedChannel。

4. 网络通话来电通知不再需要注册 AVChatBroadcastReceiver 广播接收器。

[2.3.0] - 2016-05-18

新增

1. 网络通话支持多人音视频功能。

2. 网络通话新增类型定义。

3. 网络通话新增静音类接口。

4. 网络通话其它辅助接口新增。

5. 网络通话状态回调接口新增。

变更

1. 网络通话 SDK 内部不再提供响铃功能。 由于多人模式下不支持响铃, 双人通话把相关的响铃功能移至 Demo 层, 可以参考 SoundPlayer 。

2. 网络通话接口 AVChatManager 变更。

3. 网络通话时视频参数 VideoChatParam 合并到 AVChatOptionalParam。

4. 网络通话移除铃声配置参数 AVChatRingerConfig, 响铃功能参考 Demo 层 SoundPlayer。

5. 网络通话状态回调接口变更。

[2.2.0] - 2016-04-28

新增

1. 网络通话服务端录制区分音频和视频,AVChatManager#call 和 AVChatManager#accept 接口添加是否录制音频、是否录制视频的参数。

2. 网络音视频通话增加全国多节点、直连与中转智能网络路由探测机制。

3. 网络音视频通话增加双人模式下服务器录制功能。服务器录制区分音频录制和视频录制,录制格式为 MP4。

[2.1.0] - 2016-03-24

新增

1. 添加 AVChatNotifyOption,可自定义音视频的 iOS 推送通知。

[1.8.0] - 2016-01-18

新增

1. 音视频添加本地发送数据的录制接口:AVChatManager。

变更

1. 断网后立即上报状态(去掉延时上报机制),上层感知到的网络状态变更更加灵敏供开发者自由发挥。

[1.6.0] - 2015-11-02

变更

1. 音视频通话码率参数由服务器动态调整。

2. 音视频通话直连模式策略调整。

3. 修改 AVChatManager.accept 接口,回调返回值改为 Void。

[1.5.0] - 2015-09-29

优化

1. 优化了音视频断线重连机制。

2. 优化了视频在弱网络环境下的质量。

3. 优化了音视频内存使用。

4. 降低了视频流量。

[1.2.0] - 2015-06-23

变更

1. 命名变更,AVChatInfo -> AVChatData。原来的 AVChat**Info 改名为 AVChat**Event, 基类为 AVChatCommonEvent,其中指定了 AVChatEventType(音视频通话事件枚举):

2. AVChatManager 中,拒绝接听接口(reject)合并到挂断接口(hangUp)中。

3. observeTimeoutNotification 的回调结果改为 AVChatTimeOutEvent(超时事件枚举)。

4. observeHangUpNotificationd 的回调结果改为 AVChatCommonEvent,去掉了 AVChatHangUpInfo 类。

[1.1.0] - 2015-05-25

新增

1. 支持音视频网络通话功能。

2. 全面支持 arm,armv7,x86 三大CPU架构。

3. 支持的 android 系统版本由 2.2 升级到 2.3。