setLocalMediaPriority method

Future<int> setLocalMediaPriority(
  1. int priority,
  2. bool isPreemptive
)

设置本地用户的媒体流优先级。

如果某个用户的优先级为高,那么该用户媒体流的优先级就会高于其他用户,弱网环境下 SDK 会优先保证高优先级用户收到的媒体流的质量。

请在加入房间前调用此方法。一个音视频房间中只有一个高优先级的用户。建议房间中只有一位用户调用 setLocalMediaPriority 将本端媒体流设为高优先级,否则需要开启抢占模式,保证本地用户的高优先级设置生效。 priority 本地用户的媒体流优先级,默认为 NERtcMediaPriority.normal,详细信息请参考 NERtcMediaPriorityisPreemptive 是否开启抢占模式。抢占模式开启后,本地用户可以抢占其他用户的高优先级,被抢占的用户的媒体优先级变为普通优先级,在抢占者退出房间后,其他用户的优先级仍旧维持普通优先级。 抢占模式关闭时,如果房间中已有高优先级用户,则本地用户的高优先级设置不生效,仍旧为普通优先级。

Implementation

Future<int> setLocalMediaPriority(int priority, bool isPreemptive) async {
  IntValue reply =
      await _api.setLocalMediaPriority(SetLocalMediaPriorityRequest()
        ..priority = priority
        ..isPreemptive = isPreemptive);
  return reply.value ?? -1;
}