AudioPcmDataSender 类
AudioPcmDataSender 类。
NewAudioPcmDataSender
Go
func (mediaNodeFactory *MediaNodeFactory) NewAudioPcmDataSender() *AudioPcmDataSender {
sender := C.agora_media_node_factory_create_audio_pcm_data_sender(mediaNodeFactory.cFactory)
if sender == nil {
return nil
}
return &AudioPcmDataSender{
cSender: sender,
}
}
AudioPcmDataSender 对象,可用于 NewCustomAudioTrackPcm 方法。
返回值
AudioPcmDataSender对象:方法调用成功。nil: 方法调用失败。
SendAudioPcmData
Go
func (sender *AudioPcmDataSender) SendAudioPcmData(frame *AudioFrame) int {
cData := C.CBytes(frame.Buffer)
defer C.free(cData)
return int(C.agora_audio_pcm_data_sender_send(sender.cSender, cData,
C.uint(frame.RenderTimeMs), C.uint(frame.SamplesPerChannel),
C.uint(frame.BytesPerSample), C.uint(frame.Channels),
C.uint(frame.SamplesPerSec)))
}
参数
| 参数 | 描述 |
|---|---|
frame | AudioFrame 对象,包含需要发送的 PCM 音频数据。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
Release
Go
func (sender *AudioPcmDataSender) Release() {
if sender.cSender == nil {
return
}
C.agora_audio_pcm_data_sender_destroy(sender.cSender)
sender.cSender = nil
}
AudioPcmDataSender 对象。