发版说明
你可以使用 RTSA Java SDK 在 Android 平台上实现媒体流加速的功能。
1.9.2 版
该版本于 2024 年 1 月 9 日发布。
为满足文件传输、文件下载等业务场景对可靠性的要求,该版本支持通过可靠数据传输(Reliable Data Transmission,以下简称 RDT)通道传输控制消息 (RDT_STREAM_CMD
) 和数据消息 (RDT_STREAM_DATA
)。配套新增的方法及回调如下:
sendRdtMsg
方法:通过 RDT 通道发送消息getRdtStatusInfo
方法:获取 RDT 通道的信息。onRdtState
回调:RDT 通道的连接状态已改变。onRdtMsg
回调:在 RDT 通道中收到消息。
具体使用方法见通过 RDT 通道发送消息。
该版本在 AudioCodecOption
结构体中新增 pcmDuration
成员,用于设置音频时长,取值范围为 20 到 100 毫秒。该设置对任意格式的音频数据都有效。
该版本对 RTM 模块进行了如下改进:
-
优化了被踢出 RTM 系统后的行为:
- 如果被踢出的原因是网络超时,则 SDK 会报告错误码
ERR_RTM_NOTICE_INTERRUPT
并尝试自动重连。 - 如果被踢出的原因是有人使用相同用户 ID 登录 RTM 系统,则 SDK 会报告错误码
ERR_RTM_NOTICE_KICKED_OUT
,你需要更换用户 ID 登录并保证用户 ID 的唯一性。
- 如果被踢出的原因是网络超时,则 SDK 会报告错误码
-
提升了
sendRtm
方法的易用性:- 将
messageId
参数由输出参数改为输入参数,你可以为每条消息设置唯一的消息 ID,且相同消息的 ID 不变,方便你在需要重传消息的时候快速定位到指定的消息。 - 将消息长度最大值由 32 KB 修改为 31 KB。之前版本的限制是协议头加消息的总长度至多为 32 KB,因为协议头长度不固定且用户无法获取,所以该版本将限制修改为消息长度至多为 31 KB,无需关心协议头长度。
- 新增调用失败的错误码,你可以根据提示快速定位问题并解决:
错误码 描述 RTM_ERR_NOT_LOGINED
-1001
:未登录 RTM 系统RTM_ERR_SEND_TO_SELF
-1002
:在rtmUid
参数中误填了自己的用户 ID。RTM_ERR_EXCEED_MSG_SIZE
-1003
:RTM 消息长度超出限制。消息长度至多为 31 KB。RTM_ERR_EXCEED_MSG_CNT
-1004
:发送频率超出限制。每秒至多发送 60 条消息。RTM_ERR_EXCEED_TCP_SKB
-1005
:消息通道已满。等待一秒后重新发送。
- 将
-
优化了保活机制,减少了掉线概率。
-
缩短了 RTM 的登录时间。
为提升回声消除效果并降低功耗,该版本在 RtcAudioProcessOption
结构体中新增 enableDownlinkAec
成员,你可以通过该成员设置是否开启下行回声消除。声网推荐你使用下行回声消除 (enableDownlinkAec
) 替代上行回声消除 (enableAec
)。
该版本支持采样率为 8000 Hz 的 AAC-LC 音频编码格式,你可以在发送音频帧时设置 AudioDataType
为 AUDIO_DATA_TYPE_AACLC_8K
。
该版本解除了 onMixedAudioData
回调对 onAudioData
回调的依赖,你无需监听onAudioData
回调也可以正常接收 onMixedAudioData
回调。
该版本修复了如下问题:
- H.265 视频数据的 FEC 功能解析异常。
- 特定场景下的视频卡顿。
- 调用
renewToken
方法更新 Token 后,SDK 在加入频道时未使用新的 Token。
1.9.1 版
该版本于 2023 年 7 月 11 日发布。全面适配 C API 1.9.1。
为满足不同用户对视频帧率的需求,该版本将 video_frame_info_t
结构体中的 frame_rate
成员由枚举型修改为整型,你可以设置视频帧率为 [1,60] 间的任意整数。同时,该版本也删除了 video_frame_rate_e
枚举类中的所有枚举值。
在安全要求高的场景中,为保证数据的保密性、完整性和真实性,提高数据加密的计算效率,该版本在 rtc_channel_options_t
结构体中新增 crypto_opt
成员并删除 enable_aut_encryption
成员。你可以在加入频道时通过 crypto_opt
设置是否开启媒体流加密、加密模式、密钥和盐。
开启媒体流加密后,同一频道内的所有用户都必须使用相同的加密模式和密钥,包括服务端用户(例如声网录制服务)。
该版本支持限定用户的访问区域为香港澳门、美国或俄罗斯,你可以在 area_code_e
枚举类中设置如下区域码:
AREA_CODE_HKMC
: 香港和澳门AREA_CODE_US
: 美国AREA_CODE_RU
: 俄罗斯
为方便在低性能设备中存储、传输、处理 AAC-LC 音频数据,该版本在 audio_data_type_e
枚举类中新增 AUDIO_DATA_TYPE_AACLC_16K
枚举,支持按照 16000 Hz 采样率对 AAC-LC 音频数据进行编码。
为更好地分辨 SDK 断连、重连的状态,更准确地报告远端用户加入和离开频道的状态,该版本新增 on_reconnecting
回调并对 on_connection_lost
、 on_user_joined
和 on_user_offline
回调的行为进行如下改进:
回调 | v1.9.1 之前的触发场景 | v1.9.1 的触发场景 |
---|---|---|
on_reconnecting | / |
|
on_connection_lost |
| SDK 与服务器断开连接超过 10 秒。 |
on_user_joined |
| SDK 与服务器已连接且本地用户已加入频道的情况下,远端用户加入频道。 |
on_user_offline | SDK 与服务器已连接且本地用户已加入频道的情况下,远端用户离开频道。 |
|
该版本在实时消息功能中进行了如下改进:
- 将
agora_rtc_send_rtm_data
方法的msg_id
参数由输入参数变为输出参数,SDK 会自动为每条消息分配消息 ID,无需额外设置。 - 在
on_send_rtm_data_result
回调中新增rtm_uid
参数,表示向哪个用户发送了实时消息。 - 提高了弱网条件下的登录成功率。
该版本修复了如下问题:
- 用户无法接收 H.265 格式的视频帧。
- 发送 AAC 音频数据时,音画不同步。
- 弱网条件下,本地用户加入频道时,偶现 SDK 先触发
on_user_joined
回调,再触发on_join_channel_successful
回调。 - 调用
agora_rtc_mute_remote_audio
方法静音远端用户后,SDK 依旧触发了该远端用户的on_audio_data
回调。 - 偶现的崩溃。
1.9.0 版
该版本于 2023 年 1 月 4 日发布。全面适配 C API 1.9.0。
该版本新增 License 自动验证功能。加入频道时,声网服务器会自动验证你在 init
中传入的 License。如果 License 验证失败,则 SDK 会触发 onLicenseValidationFailure
回调,你可以根据收到的错误码处理问题。
同时,该版本废弃 licenseGenCredential
和 licenseVerify
方法,onError
回调不再报告 License 验证失败的错误码。如果你之前通过 licenseGenCredential
和 licenseVerify
方法进行 License 验证,并通过 onError
回调处理 License 验证失败的业务逻辑,声网推荐你改用 onLicenseValidationFailure
回调。
该版本在 VideoFrameInfo
中新增 rotation
参数,你可以通过该参数设置已编码视频帧的旋转角度。
该版本在 RtcServiceOptions
中新增 domainLimit
参数。在使用定向物联网卡的场景下,你可以通过该参数开启域名限制,使 SDK 仅访问指定域名的网络,从而保证使用定向物联网卡的设备与其他设备互通。
如需使用该功能,联系 sales@shengwang.cn。
该版本在 ChannelOptions
中新增 audioProcessOpt
参数,你可以设置是否开启回声消除、降噪等音频处理选项。
如需使用该功能,联系 sales@shengwang.cn。
该版本改善了弱网环境下的音视频体验。
该版本修复了一些问题。
1.8.0 版
该版本于 2022 年 8 月 1 日发布。全面适配 C API 1.8.0。
1.8.0 版相比 1.7.3 版,大部分 API 都发生了变更或重新设计。如果你将 SDK 从 1.7.3 版升级到该版本,你需要重新集成 SDK。
自该版本起,SDK 不再支持 String 型用户 ID,相关接口也从 SDK 中删除。
自该版本起,SDK 使用 Connection ID 机制连接 RTC 频道。一个 Connection 有唯一的 ID,每个 Connection 可以关联多个 RTC 频道。你可以通过操作 Connection ID 来影响相关的 RTC 频道。
修复了一些 SDK 的问题。
1.7.3 版
该版本于 2022 年 6 月 6 日发布。全面适配 C API 1.7.3。