继承自 agora_gaming_rtc.IAudioRawDataManager .

Public 成员函数

delegate void OnRecordAudioFrameHandler (AudioFrame audioFrame)
 
delegate void OnPlaybackAudioFrameHandler (AudioFrame audioFrame)
 
delegate void OnMixedAudioFrameHandler (AudioFrame audioFrame)
 
delegate void OnPlaybackAudioFrameBeforeMixingHandler (uint uid, AudioFrame audioFrame)
 
override int SetOnRecordAudioFrameCallback (OnRecordAudioFrameHandler action)
 
override int SetOnPlaybackAudioFrameCallback (OnPlaybackAudioFrameHandler action)
 
override int SetOnMixedAudioFrameCallback (OnMixedAudioFrameHandler action)
 
override int SetOnPlaybackAudioFrameBeforeMixingCallback (OnPlaybackAudioFrameBeforeMixingHandler action)
 
override int RegisterAudioRawDataObserver ()
 
override int UnRegisterAudioRawDataObserver ()
 
override int PullAudioFrame (IntPtr audioBuffer, int type, int samples, int bytesPerSample, int channels, int samplesPerSec, long renderTimeMs, int avsync_type)
 

详细描述

AudioRawDataManager 类定义。

成员函数说明

◆ OnRecordAudioFrameHandler()

delegate void agora_gaming_rtc.AudioRawDataManager.OnRecordAudioFrameHandler ( AudioFrame  audioFrame)

10 ms 自动回调:获得录制的声音。

参数
audioFrame音频裸数据。详见: AudioFrame

◆ OnPlaybackAudioFrameHandler()

delegate void agora_gaming_rtc.AudioRawDataManager.OnPlaybackAudioFrameHandler ( AudioFrame  audioFrame)

10 ms 自动回调:获得播放的声音。

参数
audioFrame音频裸数据。详见: AudioFrame

◆ OnMixedAudioFrameHandler()

delegate void agora_gaming_rtc.AudioRawDataManager.OnMixedAudioFrameHandler ( AudioFrame  audioFrame)

10 ms 自动回调:获取录制和播放语音混音后的数据。

注解
该方法仅返回单通道数据。
参数
audioFrame音频裸数据。详见: AudioFrame

◆ OnPlaybackAudioFrameBeforeMixingHandler()

delegate void agora_gaming_rtc.AudioRawDataManager.OnPlaybackAudioFrameBeforeMixingHandler ( uint  uid,
AudioFrame  audioFrame 
)

10 ms 自动回调:获得混音前的指定用户的声音。

参数
uid指定用户的用户 ID。
audioFrame音频裸数据。详见: AudioFrame

◆ SetOnRecordAudioFrameCallback()

override int agora_gaming_rtc.AudioRawDataManager.SetOnRecordAudioFrameCallback ( OnRecordAudioFrameHandler  action)

监听 OnRecordAudioFrameHandler delegate。

注解
参数
actionOnRecordAudioFrameHandler delegate 的实现。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ SetOnPlaybackAudioFrameCallback()

override int agora_gaming_rtc.AudioRawDataManager.SetOnPlaybackAudioFrameCallback ( OnPlaybackAudioFrameHandler  action)

监听 OnPlaybackAudioFrameHandler delegate。

注解
参数
actionOnPlaybackAudioFrameHandler delegate 的实现。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ SetOnMixedAudioFrameCallback()

override int agora_gaming_rtc.AudioRawDataManager.SetOnMixedAudioFrameCallback ( OnMixedAudioFrameHandler  action)

监听 OnMixedAudioFrameHandler delegate。

注解
参数
actionOnMixedAudioFrameHandler delegate 的实现。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ SetOnPlaybackAudioFrameBeforeMixingCallback()

override int agora_gaming_rtc.AudioRawDataManager.SetOnPlaybackAudioFrameBeforeMixingCallback ( OnPlaybackAudioFrameBeforeMixingHandler  action)

监听 OnPlaybackAudioFrameBeforeMixingHandler delegate。

注解
参数
actionOnPlaybackAudioFrameBeforeMixingHandler delegate 的实现。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。

◆ RegisterAudioRawDataObserver()

override int agora_gaming_rtc.AudioRawDataManager.RegisterAudioRawDataObserver ( )

注册原始音频数据观测器。

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

◆ UnRegisterAudioRawDataObserver()

override int agora_gaming_rtc.AudioRawDataManager.UnRegisterAudioRawDataObserver ( )

注销原始音频数据观测器。

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

◆ PullAudioFrame()

override int agora_gaming_rtc.AudioRawDataManager.PullAudioFrame ( IntPtr  audioBuffer,
int  type,
int  samples,
int  bytesPerSample,
int  channels,
int  samplesPerSec,
long  renderTimeMs,
int  avsync_type 
)

拉取远端音频数据。

使用该方法前,你需要调用 SetExternalAudioSink(enabled: true) 方法通知 app 开启并设置外部渲染。

调用该方法后,app 会采取主动拉取的方式获取远端已解码和混音后的音频数据,用于音频播放。

注解
  • 使用该方法后,app 会无法从 OnPlaybackAudioFrameHandler 回调中获得数据。
  • 该方法和 OnPlaybackAudioFrameHandler 回调相比,区别在于:
    • OnPlaybackAudioFrameHandler: SDK 每 10 毫秒通过该回调将音频数据传输给 app。如果 app 处理延时,可能会导致音频播放抖动。
    • PullAudioFrame: app 主动拉取音频数据。通过设置音频数据,SDK 可以调整缓存,帮助 app 处理延时,从而有效避免音频播放抖动。
参数
audioBuffer声音数据缓存区(如果是立体声,数据是交叉存储的)。缓存区数据大小:buffer = samples × channels × bytesPerSample
type音频帧类型。详见 AUDIO_FRAME_TYPE
samples每个声道的采样点数。
bytesPerSample每个采样点的字节数。通常为十六位,即两个字节。
channels声道数量(如果是立体声,数据是交叉的)
  • 1: 单声道。
  • 2: 双声道。
samplesPerSec采样率。
renderTimeMs外部音频帧的渲染时间戳。你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以用于实现音视频同步。
avsync_type预留参数。
返回
  • 0: 方法调用成功;
  • < 0: 方法调用失败。