文档中心
互动直播 (Legacy)
API 参考
Agora Java API Reference for Android
Agora Java API Reference for Android
◆ onRecordFrame()
abstract boolean io.agora.rtc.IAudioFrameObserver.onRecordFrame |
( |
AudioFrame |
audioFrame | ) |
|
|
abstract |
◆ onPlaybackFrame()
abstract boolean io.agora.rtc.IAudioFrameObserver.onPlaybackFrame |
( |
AudioFrame |
audioFrame | ) |
|
|
abstract |
◆ onPlaybackFrameBeforeMixing()
abstract boolean io.agora.rtc.IAudioFrameObserver.onPlaybackFrameBeforeMixing |
( |
AudioFrame |
audioFrame, |
|
|
int |
uid |
|
) |
| |
|
abstract |
获取混音前单个远端用户的音频。
- 自从
- v3.4.5
要触发该回调,你需要在调用 registerAudioFrameObserver 方法时注册以下回调并设置相应的返回值:
设置成功后,SDK 默认每 10 ms 触发一次 onPlaybackFrameBeforeMixing
回调,报告的音频数据格式和播放的音频数据格式相同。
- 参数
-
- 返回
-
◆ onMixedFrame()
abstract boolean io.agora.rtc.IAudioFrameObserver.onMixedFrame |
( |
AudioFrame |
audioFrame | ) |
|
|
abstract |
◆ isMultipleChannelFrameWanted()
abstract boolean io.agora.rtc.IAudioFrameObserver.isMultipleChannelFrameWanted |
( |
| ) |
|
|
abstract |
多频道场景下,设置是否获取多个频道的原始音频数据。
- 自从
- 3.3.0。
成功注册音频观测器后,SDK 会在捕捉到每个音频帧的时候触发该回调。
在多频道场景下,如果你希望从多个频道获取音频数据,则需要将该回调的返回值设为 true
,并将 getObservedAudioFramePosition
的返回值设为 POSITION_BEFORE_MIXING (0x01 << 3)
。 成功设置后,SDK 会触发 onPlaybackFrameBeforeMixingEx 回调,向你发送接收的混音前的音频帧,并报告该音频帧来自哪个频道。
- 注解
- 一旦你将该回调的返回值设为
true
,则 SDK 只触发 onPlaybackFrameBeforeMixingEx
来返回接收到的混音前的音频数据。 onPlaybackFrameBeforeMixing 将不会被触发。在多频道场景下,我们建议你将该回调的返回值设为 true
。
- 如果你将该回调的返回值设为
false
,则 SDK 只触发 onPlaybackFrameBeforeMixing
来返回接收到的音频数据。
- 返回
true
:获取多个频道的音频数据。
false
:不获取多个频道的音频数据。
◆ onPlaybackFrameBeforeMixingEx()
abstract boolean io.agora.rtc.IAudioFrameObserver.onPlaybackFrameBeforeMixingEx |
( |
AudioFrame |
audioFrame, |
|
|
int |
uid, |
|
|
String |
channelId |
|
) |
| |
|
abstract |
获取各频道单个远端用户混音前的音频。
- 自从
- v3.4.5
要触发该回调,你需要在调用 registerAudioFrameObserver 方法时注册以下回调并设置相应的返回值:
设置成功后,SDK 默认每 10 ms 触发一次 onPlaybackFrameBeforeMixingEx
回调,报告的音频数据格式和播放的音频数据格式相同。
- 参数
-
audioFrame | 原始音频数据,详见 AudioFrame。 |
uid | 远端用户的 UID。 |
channelId | 频道名。 |
- 返回
-
◆ getObservedAudioFramePosition()
abstract int io.agora.rtc.IAudioFrameObserver.getObservedAudioFramePosition |
( |
| ) |
|
|
abstract |
设置音频观测位置。
- 自从
- v3.4.5
成功注册音频数据观测器后,SDK 会在每个特定的音频帧处理节点通过 getObservedAudioFramePosition
回调来判断是否触发如下回调:
你可以根据场景需求,通过修改 getObservedAudioFramePosition
的返回值,设置你需要观测的某个或多个位置。
- 注解
-
- 返回
- 设置观测位置的位掩码,取值如下:
POSITION_PLAYBACK (0x01)
:该位置可观测所有远端用户混音后的播放音频,对应 onPlaybackFrame
回调。
POSITION_RECORD (0x01 << 1)
:该位置可观测采集的本地用户的音频,对应 onRecordFrame
回调。
POSITION_MIXED (0x01 << 2)
:该位置可观测本地和所有远端用户混音后的音频,对应 onMixedFrame
回调。
POSITION_BEFORE_MIXING (0x01 << 3)
:该位置可观测单个远端用户混音前的音频,对应 onPlaybackFrameBeforeMixing
或 onPlaybackFrameBeforeMixingEx
回调。
◆ getRecordAudioParams()
abstract AudioParams io.agora.rtc.IAudioFrameObserver.getRecordAudioParams |
( |
| ) |
|
|
abstract |
◆ getPlaybackAudioParams()
abstract AudioParams io.agora.rtc.IAudioFrameObserver.getPlaybackAudioParams |
( |
| ) |
|
|
abstract |
◆ getMixedAudioParams()
abstract AudioParams io.agora.rtc.IAudioFrameObserver.getMixedAudioParams |
( |
| ) |
|
|
abstract |
◆ POSITION_PLAYBACK
int io.agora.rtc.IAudioFrameObserver.POSITION_PLAYBACK = 0x01 |
|
static |
◆ POSITION_RECORD
int io.agora.rtc.IAudioFrameObserver.POSITION_RECORD = 0x01 << 1 |
|
static |
◆ POSITION_MIXED
int io.agora.rtc.IAudioFrameObserver.POSITION_MIXED = 0x01 << 2 |
|
static |
◆ POSITION_BEFORE_MIXING
int io.agora.rtc.IAudioFrameObserver.POSITION_BEFORE_MIXING = 0x01 << 3 |
|
static |