io.agora.rtc.AgoraLocalUser类 参考
构造及析构函数说明
AgoraLocalUser()
io.agora.rtc.AgoraLocalUser.AgoraLocalUser | ( | long | cptr | ) |
构造函数。
成员函数说明
getUserRole()
publishAudio()
native int io.agora.rtc.AgoraLocalUser.publishAudio | ( | AgoraLocalAudioTrack | agora_local_audio_track | ) |
发布本地音频轨道至频道。
发布音频轨道时,SDK 默认会将所有音频轨道进行混音。
参数
参数名 | 描述 |
---|---|
agora_local_audio_track | 待发布的本地音频轨道。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
publishVideo()
native int io.agora.rtc.AgoraLocalUser.publishVideo | ( | AgoraLocalVideoTrack | agora_local_video_track | ) |
发布本地视频轨道至频道。
参数
参数名 | 描述 |
---|---|
agora_local_video_track | 待发布的本地视频轨道。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
registerAudioFrameObserver()
native int io.agora.rtc.AgoraLocalUser.registerAudioFrameObserver | ( | IAudioFrameObserver | observer | ) |
注册音频数据观测器。
你需要在该方法中实现一个 IAudioFrameObserver
类,并根据具体场景需求,注册以下回调:
onRecordAudioFrame
: 当 SDK 接收到本地录音设备采集的音频数据时,会触发该回调。onPlaybackAudioFrame
: 当 SDK 接收到远端发送过来用于播放的的音频数据时,会触发该回调。onPlaybackAudioFrameBeforeMixing
: 当 SDK 接收到远端指定用户发送过来尚未混音的音频数据时,会触发该回调。onMixedAudioFrame
: 当 SDK 接收到本地采集的和用于播放的混音后的音频数据时,会触发该回调。
参数
参数名 | 描述 |
---|---|
observer | 音频数据观测器:IAudioFrameObserver。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
registerObserver()
native int io.agora.rtc.AgoraLocalUser.registerObserver | ( | ILocalUserObserver | observer | ) |
注册本地用户观测器。
你需要在该方法中实现一个 ILocalUserObserver
类。完成注册后,ILocalUserObserver
会接收 AgoraLocalUser
对象的回调事件。
参数
参数名 | 描述 |
---|---|
observer | ILocalUserObserver 对象。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
sendIntraRequest()
setAudioEncoderConfig()
native int io.agora.rtc.AgoraLocalUser.setAudioEncoderConfig | ( | AudioEncoderConfig | config | ) |
配置音频编码属性。
完成配置后,SDK 会将音频编码属性应用到所有音频轨道。
参数
参数名 | 描述 |
---|---|
config | 音频编码属性 AudioEncoderConfig。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setAudioScenario()
native int io.agora.rtc.AgoraLocalUser.setAudioScenario | ( | int | scenarioType | ) |
设置音频应用场景。
该方法适用于各种音频场景,你可以按需选择。例如,在音乐教学等高音质需求的场景中,建议将 scenarioType
设置为 AUDIO_SCENARIO_GAME_STREAMING
(3)。
参数
参数名 | 描述 |
---|---|
scenarioType | 音频场景。不同的音频场景下,设备的音量类型是不同的。
|
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setAudioVolumeIndicationParameters()
native int io.agora.rtc.AgoraLocalUser.setAudioVolumeIndicationParameters | ( | int | interval_in_ms, |
int | smooth, | ||
boolean | report_vad ) |
setMixedAudioFrameParameters()
native int io.agora.rtc.AgoraLocalUser.setMixedAudioFrameParameters | ( | int | channels, |
int | sample_rate_hz, | ||
int | mode, | ||
int | samples_per_call ) |
设置 onMixedAudioFrame
回调中返回的音频数据的参数。
参数
参数名 | 描述 |
---|---|
channels | onMixedAudioFrame 回调中音频数据的声道数。
|
sample_rate_hz | onMixedAudioFrame 中音频数据的采样率(Hz)。可设为 8000, 16000, 32000, 44100, 或 48000。 |
mode | onMixedAudioFrame 中音频数据的使用模式:
|
samples_per_call | onMixedAudioFram 回调中的采样点数。在 RTMP 或 RTMPS 推流场景中,将该值设为 1024。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setPlaybackAudioFrameBeforeMixingParameters()
native int io.agora.rtc.AgoraLocalUser.setPlaybackAudioFrameBeforeMixingParameters | ( | int | channels, |
int | sample_rate_hz ) |
设置 onPlaybackAudioFrameBeforeMixing 回调中返回的音频数据的参数。
参数
参数名 | 描述 |
---|---|
channels | onPlaybackAudioFrameBeforeMixing 回调中音频数据的声道数。
|
sample_rate_hz | onPlaybackAudioFrameBeforeMixing 中音频数据的采样率(Hz)。可设为 8000、16000、32000、44100 或 48000。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setPlaybackAudioFrameParameters()
native int io.agora.rtc.AgoraLocalUser.setPlaybackAudioFrameParameters | ( | int | channels, |
int | sample_rate_hz, | ||
int | mode, | ||
int | samples_per_call ) |
设置 onPlaybackAudioFrame
回调中返回的音频数据的参数。
参数
参数名 | 描述 |
---|---|
channels | onPlaybackAudioFrame 回调中音频数据的声道数。
|
sample_rate_hz | onPlaybackAudioFrame 中音频数据的采样率(Hz)。可设为 8000, 16000, 32000, 44100, 或 48000。 |
mode | onPlaybackAudioFrame 中音频数据的使用模式:
|
samples_per_call | onPlaybackAudioFram 回调中的采样点数。在 RTMP 或 RTMPS 推流场景中,将该值设为 1024。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setRecordingAudioFrameParameters()
native int io.agora.rtc.AgoraLocalUser.setRecordingAudioFrameParameters | ( | int | channels, |
int | sample_rate_hz, | ||
int | mode, | ||
int | samples_per_call ) |
设置 onRecordAudioFrame
回调中返回的音频数据的参数。
参数
参数名 | 描述 |
---|---|
channels | onPlaybackAudioFrame 回调中音频数据的声道数。
|
sample_rate_hz | onRecordAudioFrame 中音频数据的采样率(Hz)。可设为 8000, 16000, 32000, 44100, 或 48000。 |
mode | onRecordAudioFrame 中音频数据的使用模式:
|
samples_per_call | onRecordAudioFram 回调中的采样点数。在 RTMP 或 RTMPS 推流场景中,将该值设为 1024。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setUserRole()
native void io.agora.rtc.AgoraLocalUser.setUserRole | ( | int | role | ) |
设置用户角色。
在加入频道前后,你都可以调用该方法:
- 加入频道前调用,可以设置用户角色为发流者(主播)或收流者(观众)。
- 加入频道后调用,可以切换用户角色为发流者或收流者。
你可以通过 onChangeRoleSuccess
或 onChangeRoleFailure
获取该方法的调用结果。
connect
加入频道时,如果填入的 token
与你在该方法中设置的 role
不匹配,则加入 频道失败,SDK 触发 onConnectionFailure
回调。参数
参数名 | 描述 |
---|---|
role | 用户角色。 |
subscribeAllAudio()
native int io.agora.rtc.AgoraLocalUser.subscribeAllAudio | ( | ) |
订阅频道内所有用户的音频。
成功调用该方法后,SDK 自动订阅在调用该方法后加入频道的用户的音频。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
subscribeAllVideo()
native int io.agora.rtc.AgoraLocalUser.subscribeAllVideo | ( | VideoSubscriptionOptions | options | ) |
订阅频道中所有用户的视频。
成功调用该方法后,SDK 自动订阅在调用该方法后加入频道的用户的视频。
参数
参数名 | 描述 |
---|---|
options | 视频订阅选项:VideoSubscriptionOptions。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
subscribeAudio()
subscribeVideo()
native int io.agora.rtc.AgoraLocalUser.subscribeVideo | ( | String | user_id, |
VideoSubscriptionOptions | options ) |
订阅远端指定用户的视频。
参数
参数名 | 描述 |
---|---|
user_id | 带订阅视频的远端用户的 ID。 |
options | 视频订阅选项:VideoSubscriptionOptions,例如,仅订阅编码后的视频数据,或仅订阅视频小流。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
unpublishAudio()
native int io.agora.rtc.AgoraLocalUser.unpublishAudio | ( | AgoraLocalAudioTrack | agora_local_audio_track | ) |
停止向频道内发布本地音频轨道。
参数
参数名 | 描述 |
---|---|
agora_local_audio_track | 待停止发布的本地音频轨道。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
unpublishVideo()
native int io.agora.rtc.AgoraLocalUser.unpublishVideo | ( | AgoraLocalVideoTrack | agora_local_video_track | ) |
停止发布本地视频轨道至频道。
参数
参数名 | 描述 |
---|---|
agora_local_video_track | 待停止发布的本地视频轨道。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
unregisterAudioFrameObserver()
unregisterObserver()
unsubscribeAllAudio()
native int io.agora.rtc.AgoraLocalUser.unsubscribeAllAudio | ( | ) |
停止订阅频道内所有远端音频。
成功调用该方法后,如未再调用 subscribeAudio
或 subscribeAllAudio
,SDK 自动停止订阅在调用该方法后加入频道的用户的音频。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
unsubscribeAllVideo()
native int io.agora.rtc.AgoraLocalUser.unsubscribeAllVideo | ( | ) |
停止订阅频道内所有用户的视频。
成功调用该方法后,除非再调用 subscribeVideo
或 subscribeAllVideo
,否则 SDK 自动停止订阅在调用该方法后加入频道的用户视频。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。