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
对象。