preloadChannel abstract method
使用 token 、 channelId 、 uid 预加载频道。
调用该方法可以减少观众频繁切换频道时加入频道的时间,从而缩短观众听到主播首帧音频以及看到首帧画面的耗时,提升观众端的视频体验。 如果当前频道已经成功预加载,观众加入、离开频道后如需再次加入该频道,只要预加载时传入的 Token 仍在有效期内,则无需重新预加载。 预加载不生效不会影响后续正常加入频道,也不会增加加入频道的耗时。 调用该方法时,请确保用户角色设为观众、音频应用场景设为非合唱场景( audioScenarioChorus ),否则预加载不生效。 请确保预加载频道时传入的频道名、用户 ID、Token 和后续加入频道时传入的值相同,否则预加载不生效。 目前一个 RtcEngine 实例最多支持预加载 20 个频道,如超出限制,仅最新预加载的 20 个频道生效。
token在服务端生成的用于鉴权的动态密钥。详见使用 Token 鉴权。 Token 过期后,根据预加载频道的数量,你可以通过不同方式来传入用于预加载频道的新 Token: 预加载一个频道时:调用此方法来传入新的 Token。 预加载多个频道时: 如果你使用了通配的 Token,调用 updatePreloadChannelToken 来更新所有预加载频道的 Token。生成通配 Token 时,用户 ID 不得设为 0。详见 使用通配 Token。 如果你使用了不同的 Token:调用此方法并传入你的用户 ID、对应的频道名和更新后的 Token。channelId待预加载的频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。 该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): 26 个小写英文字母 az 26 个大写英文字母 AZ 10 个数字 09 "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、""、",""、""、"^"、"_"、"{"、"}"、"|"、"uid用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 onJoinChannelSuccess 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。
Returns 方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。 < 0:方法调用失败。详见错误码了解详情和解决建议。 -7: RtcEngine 对象尚未初始化。你需要在调用该方法前成功初始化 RtcEngine 对象。 -102:频道名无效。你需要填入有效的频道名,重新加入频道。
Implementation
Future<void> preloadChannel(
{required String token, required String channelId, required int uid});