LocalUser 类

  • Python

更新时间不可用

LocalUser 类。定义了本地用户的行为和状态。每个 RTC 连接都有自己的用户。你可以通过 get_local_user 获取本地用户。每个用户有两种角色:主播(能发送和接收音视频流)和观众(只能接收音视频流)。

set_user_role

Python
def set_user_role(self, role)
设置用户角色。你可以在用户连接频道前或连接频道后调用该方法。

注意

如果 connect 中的 token 与 role 参数设置的角色不同,连接会失败。

参数

参数描述
role用户角色。详见 ClientRoleType。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

set_audio_encoder_configuration

Python
def set_audio_encoder_configuration(self, config)
设置音频编码。SDK 会将配置应用于全部发送的音频轨道。

参数

参数描述
config音频编码配置。详见 AudioEncoderConfiguration。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

publish_audio

Python
def publish_audio(self, agora_local_audio_track:LocalAudioTrack)
将本地音频轨道发送到频道。默认情况下,所有发布的音频轨道都会进行混音。

参数

参数描述
agora_local_audio_track需要发布的本地音频轨道。详见 LocalAudioTrack。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。
    • -5: 如果本地用户的角色不是主播,会返回此错误。

unpublish_audio

Python
def unpublish_audio(self, agora_local_audio_track:LocalAudioTrack)
停止将本地音频轨道发送到频道。

参数

参数描述
agora_local_audio_track需要停止发布的本地音频轨道。详见 LocalAudioTrack。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

publish_video

Python
def publish_video(self, agora_local_video_track:LocalVideoTrack)
将本地视频轨道发送到频道。

参数

参数描述
agora_local_video_track需要发布的本地视频轨道。详见 LocalVideoTrack。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unpublish_video

Python
def unpublish_video(self, agora_local_video_track:LocalVideoTrack)
停止将本地视频轨道发送到频道。

参数

参数描述
agora_local_video_track需要停止发布的本地视频轨道。详见 LocalVideoTrack。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

subscribe_audio

Python
def subscribe_audio(self, user_id)
订阅频道中特定的远端用户发送的音频流。

参数

参数描述
user_id远端用户的用户 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。
    • -2: 如果用户不存在或 user_id 无效时会返回该错误。

subscribe_all_audio

Python
def subscribe_all_audio(self)
订阅频道中全部远端用户发送的音频流。该方法会自动订阅频道中后续加入的用户发送的音频流。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unsubscribe_audio

Python
def unsubscribe_audio(self, user_id)
停止订阅频道中特定的远端用户发送的音频流。

参数

参数描述
user_id远端用户的用户 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。
    • -2: 如果用户不存在或 user_id 无效时会返回该错误。

unsubscribe_all_audio

Python
def unsubscribe_all_audio(self)
停止订阅频道中全部远端用户发送的音频流。该方法会自动取消订阅频道中后续加入的用户发送的音频流。你必须调用 subscribe_audio 或 subscribe_all_audio 才能恢复订阅音频。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

set_playback_audio_frame_before_mixing_parameters

Python
def set_playback_audio_frame_before_mixing_parameters(self, channels, sample_rate_hz)
设置 on_playback_audio_frame_before_mixing 报告的音频数据格式。

参数

参数描述
channels音频数据声道数,可设置为 1(单声道) 或 2(双声道)。
sample_rate_hz音频数据采样率,可设置为 8000、 16000、32000、 44100 或 48000。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

register_audio_frame_observer

Python
def register_audio_frame_observer(self, observer:IAudioFrameObserver)
注册音频帧观测器。你必须实现 IAudioFrameObserver 类并根据需求注册回调。

参数

参数描述
observerIAudioFrameObserver 类。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unregister_audio_frame_observer

Python
def unregister_audio_frame_observer(self)
销毁 IAudioFrameObserver 对象。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

register_video_encoded_frame_observer

Python
def register_video_encoded_frame_observer(self, agora_video_encoded_frame_observer:IVideoEncodedFrameObserver)
注册已编码视频帧观测器。

参数

参数描述
agora_video_encoded_frame_observer已编码视频帧观测器。详见 IVideoEncodedFrameObserver。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unregister_video_encoded_frame_observer

Python
def unregister_video_encoded_frame_observer(self)
注销已编码视频帧观测器。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

subscribe_video

Python
def subscribe_video(self, user_id, options:VideoSubscriptionOptions)
订阅频道中指定远端用户发送的视频流。

参数

参数描述
user_id远端用户的用户 ID。
options订阅选项。详见 VideoSubscriptionOptions
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。
    • -2:如果用户不存在或 user_id 无效时会返回该错误。

subscribe_all_video

Python
def subscribe_all_video(self, options:VideoSubscriptionOptions)
订阅频道中全部远端用户发送的视频流。该方法会自动订阅频道中后续加入的用户发送的视频流。

参数

参数描述
options订阅选项。详见 VideoSubscriptionOptions
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unsubscribe_video

Python
def unsubscribe_video(self, user_id)
停止订阅频道中指定远端用户发送的视频流。

参数

参数描述
user_id远端用户的用户 ID。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。
    • -2:如果用户不存在或 user_id 无效时会返回该错误。

unsubscribe_all_video

Python
def unsubscribe_all_video(self)
停止订阅频道中全部远端用户发送的视频流。该方法会自动取消订阅频道中后续加入的用户发送的视频流。你必须调用 subscribe_video 或 subscribe_all_video 才能恢复订阅。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

register_local_user_observer

Python
def register_local_user_observer(self, observer:ILocalUserObserver)
注册本地用户观测器。

参数

参数描述
observerILocalUserObserver 类。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unregister_local_user_observer

Python
def unregister_local_user_observer(self)
销毁本地用户观测器。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

register_video_frame_observer

Python
def register_video_frame_observer(self, agora_video_frame_observer2:IVideoFrameObserver)
注册 IVideoFrameObserver 对象。

参数

参数描述
agora_video_frame_observer2IVideoFrameObserver 类。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

unregister_video_frame_observer

Python
def unregister_video_frame_observer(self, agora_video_frame_observer2)
销毁 IVideoFrameObserver 对象。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。

get_rtc_connection

Python
def get_rtc_connection(self)
获取 RtcConnection 对象。

返回值

  • RtcConnection 对象:方法调用成功。
  • None:方法调用失败。

release

Python
def release(self)
释放 LocalUser 对象的所有资源。

send_audio_metadata

Python
def send_audio_meta_data(self, data)

发送音频 Metadata 数据。

成功调用该方法后,远端会触发 on_audio_metadata_received 回调,远端用户可以在该回调中获取接收到的音频 Metadata 数据。

参数

参数描述
data音频 Metadata 数据。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。