#include <NGIAgoraLocalUser.h>
|
virtual | ~ILocalUser () |
|
virtual void | setUserRole (rtc::CLIENT_ROLE_TYPE role)=0 |
|
virtual CLIENT_ROLE_TYPE | getUserRole ()=0 |
|
virtual int | setAudioEncoderConfiguration (const rtc::AudioEncoderConfiguration &config)=0 |
|
virtual int | publishAudio (agora_refptr< ILocalAudioTrack > audioTrack)=0 |
|
virtual int | unpublishAudio (agora_refptr< ILocalAudioTrack > audioTrack)=0 |
|
virtual int | publishVideo (agora_refptr< ILocalVideoTrack > videoTrack)=0 |
|
virtual int | unpublishVideo (agora_refptr< ILocalVideoTrack > videoTrack)=0 |
|
virtual int | subscribeAudio (user_id_t userId)=0 |
|
virtual int | subscribeAllAudio ()=0 |
|
virtual int | unsubscribeAudio (user_id_t userId)=0 |
|
virtual int | unsubscribeAllAudio ()=0 |
|
virtual int | setPlaybackAudioFrameParameters (size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode=RAW_AUDIO_FRAME_OP_MODE_READ_ONLY, int samplesPerCall=0)=0 |
|
virtual int | setRecordingAudioFrameParameters (size_t numberOfChannels, uint32_t sampleRateHz, RAW_AUDIO_FRAME_OP_MODE_TYPE mode=RAW_AUDIO_FRAME_OP_MODE_READ_ONLY, int samplesPerCall=0)=0 |
|
virtual int | setMixedAudioFrameParameters (size_t numberOfChannels, uint32_t sampleRateHz, int samplesPerCall=0)=0 |
|
virtual int | setPlaybackAudioFrameBeforeMixingParameters (size_t numberOfChannels, uint32_t sampleRateHz)=0 |
|
virtual int | registerAudioFrameObserver (agora::media::IAudioFrameObserverBase *observer)=0 |
|
virtual int | unregisterAudioFrameObserver (agora::media::IAudioFrameObserverBase *observer)=0 |
|
virtual int | registerVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *observer)=0 |
|
virtual int | unregisterVideoEncodedFrameObserver (agora::media::IVideoEncodedFrameObserver *observer)=0 |
|
virtual int | registerVideoFrameObserver (IVideoFrameObserver2 *observer)=0 |
|
virtual int | unregisterVideoFrameObserver (IVideoFrameObserver2 *observer)=0 |
|
virtual int | subscribeVideo (user_id_t userId, const VideoSubscriptionOptions &subscriptionOptions)=0 |
|
virtual int | subscribeAllVideo (const VideoSubscriptionOptions &subscriptionOptions)=0 |
|
virtual int | unsubscribeVideo (user_id_t userId)=0 |
|
virtual int | unsubscribeAllVideo ()=0 |
|
virtual int | registerLocalUserObserver (ILocalUserObserver *observer, void(*safeDeleter)(ILocalUserObserver *)=NULL)=0 |
|
virtual int | unregisterLocalUserObserver (ILocalUserObserver *observer)=0 |
|
virtual int | sendIntraRequest (user_id_t userId)=0 |
|
ILocalUser
类。 定义了本地用户的行为和状态。
每个 RTC 连接都有自己的用户。你可以通过 IRtcConnection::getLocalUser 获取本地 user。
每个用户有两种角色: 主播 (能发送和接收音视频流) 和 观众 (只能接收音视频流)。
◆ ~ILocalUser()
virtual agora::rtc::ILocalUser::~ILocalUser |
( |
| ) |
|
|
inlinevirtual |
◆ getUserRole()
◆ publishAudio()
virtual int agora::rtc::ILocalUser::publishAudio |
( |
agora_refptr< ILocalAudioTrack > |
audioTrack | ) |
|
|
pure virtual |
将本地音频轨道发送到频道。
默认情况下,所有发布的音频轨道都会进行混音。
- 参数
-
- 返回
- 0: 方法调用成功。
- < 0: 方法调用失败。
- -5(ERR_REFUSED):如果本地用户的角色不是主播,会返回此错误。
◆ publishVideo()
virtual int agora::rtc::ILocalUser::publishVideo |
( |
agora_refptr< ILocalVideoTrack > |
videoTrack | ) |
|
|
pure virtual |
◆ registerAudioFrameObserver()
注册音频帧 observer。
你必须实现 IAudioFrameObserverBase
类并根据需求注册以下回调:
- 参数
-
- 返回
-
◆ registerLocalUserObserver()
◆ registerVideoEncodedFrameObserver()
为编码后的视频图像注册视频帧接收 observer。
- 参数
-
- 返回
-
◆ registerVideoFrameObserver()
◆ sendIntraRequest()
virtual int agora::rtc::ILocalUser::sendIntraRequest |
( |
user_id_t |
userId | ) |
|
|
pure virtual |
◆ setAudioEncoderConfiguration()
设置音频编码。
SDK 会将配置应用于全部发送的音频轨道。
- 参数
-
- 返回
-
◆ setMixedAudioFrameParameters()
virtual int agora::rtc::ILocalUser::setMixedAudioFrameParameters |
( |
size_t |
numberOfChannels, |
|
|
uint32_t |
sampleRateHz, |
|
|
int |
samplesPerCall = 0 |
|
) |
| |
|
pure virtual |
设置 onMixedAudioFrame 报告的音频数据格式。
- 参数
-
numberOfChannels | 音频数据声道数,可设置为 1(单声道) 或 2(双声道)。 |
sampleRateHz | 音频数据采样率 (Hz),可设置为 8000、 16000、32000、 44100 或 48000。 |
samplesPerCall | 指定 onMixedAudioFrame 中返回数据的采样点数,如 RTMP/RTMPS 推流应用中通常为 1024。 |
- 注解
- SDK 会根据该方法设置的采样间隔(秒)定期触发
onMixedAudioFrame
回调。 采样间隔 = samplesPerCall/(sampleRate x channel)。请确保你的取值能满足采样间隔大于或等于 0.01 秒。
- 返回
-
◆ setPlaybackAudioFrameBeforeMixingParameters()
virtual int agora::rtc::ILocalUser::setPlaybackAudioFrameBeforeMixingParameters |
( |
size_t |
numberOfChannels, |
|
|
uint32_t |
sampleRateHz |
|
) |
| |
|
pure virtual |
设置 onPlaybackAudioFrameBeforeMixing 报告的音频数据格式。
- 参数
-
numberOfChannels | 音频数据声道数,可设置为 1(单声道) 或 2(双声道)。 |
sampleRateHz | 音频数据采样率 (Hz),可设置为 8000、 16000、32000、 44100 或 48000。 |
- 返回
-
◆ setPlaybackAudioFrameParameters()
设置播放的音频格式。
该方法设置 onPlaybackAudioFrame 回调数据的格式。
- 参数
-
numberOfChannels | 音频数据声道数,可设置为 1(单声道) 或 2(双声道)。 |
sampleRateHz | onPlaybackAudioFrame 中返回数据的采样率,可设置为 8000、 16000、 32000、44100 或 48000。 |
mode | 音频帧的使用模式,详见: RAW_AUDIO_FRAME_OP_MODE_TYPE 。 |
samplesPerCall | onPlaybackAudioFrame 中返回数据的采样点数,如旁路推流应用中通常为 1024。 |
- 返回
-
◆ setRecordingAudioFrameParameters()
◆ setUserRole()
◆ subscribeAllAudio()
virtual int agora::rtc::ILocalUser::subscribeAllAudio |
( |
| ) |
|
|
pure virtual |
订阅频道中全部远端用户发送的音频流。
该方法会自动订阅频道中后续加入的用户发送的音频流。
- 返回
-
◆ subscribeAllVideo()
订阅频道中全部远端用户发送的视频流。
该方法会自动订阅频道中后续加入的用户发送的视频流。
- 参数
-
- 返回
-
◆ subscribeAudio()
virtual int agora::rtc::ILocalUser::subscribeAudio |
( |
user_id_t |
userId | ) |
|
|
pure virtual |
订阅频道中特定的远端用户发送的音频流。
- 参数
-
- 返回
- 0: 方法调用成功。
- < 0: 方法调用失败。
- -2(ERR_INVALID_ARGUMENT):如果用户不存在或 userId 无效时会返回该错误。
◆ subscribeVideo()
订阅频道中指定远端用户发送的视频流。
- 参数
-
- 返回
- 0: 方法调用成功。
- < 0: 方法调用失败。
- -2(ERR_INVALID_ARGUMENT):如果用户不存在或 userId 无效时会返回该错误。
◆ unpublishAudio()
virtual int agora::rtc::ILocalUser::unpublishAudio |
( |
agora_refptr< ILocalAudioTrack > |
audioTrack | ) |
|
|
pure virtual |
◆ unpublishVideo()
virtual int agora::rtc::ILocalUser::unpublishVideo |
( |
agora_refptr< ILocalVideoTrack > |
videoTrack | ) |
|
|
pure virtual |
◆ unregisterAudioFrameObserver()
◆ unregisterLocalUserObserver()
virtual int agora::rtc::ILocalUser::unregisterLocalUserObserver |
( |
ILocalUserObserver * |
observer | ) |
|
|
pure virtual |
销毁本地用户 observer。
- 参数
-
- 返回
- 0: Success.
- < 0: Failure.
◆ unregisterVideoEncodedFrameObserver()
◆ unregisterVideoFrameObserver()
◆ unsubscribeAllAudio()
virtual int agora::rtc::ILocalUser::unsubscribeAllAudio |
( |
| ) |
|
|
pure virtual |
◆ unsubscribeAllVideo()
virtual int agora::rtc::ILocalUser::unsubscribeAllVideo |
( |
| ) |
|
|
pure virtual |
◆ unsubscribeAudio()
virtual int agora::rtc::ILocalUser::unsubscribeAudio |
( |
user_id_t |
userId | ) |
|
|
pure virtual |
停止订阅频道中特定的远端用户发送的音频流。
- 参数
-
- 返回
- 0: 方法调用成功。
- < 0: 方法调用失败。
- -2(ERR_INVALID_ARGUMENT):如果用户不存在或 userId 无效时会返回该错误。
◆ unsubscribeVideo()
virtual int agora::rtc::ILocalUser::unsubscribeVideo |
( |
user_id_t |
userId | ) |
|
|
pure virtual |
停止订阅频道中指定远端用户发送的视频流。
- 参数
-
- 返回
- 0: 方法调用成功。
- < 0: 方法调用失败。
- -2(ERR_INVALID_ARGUMENT):如果用户不存在或 userId 无效时会返回该错误。
该类的文档由以下文件生成: