自定义音频采集和播放 编辑文档

功能描述

一些特殊的场景中,比如用户已有自己的音频模块,或者有自定义采集或播放的需求。QttAudio SDK支持用户使用自定义的音频采集或播放。

普通用户可跳过该章节。

自定义采集

@interface QttChannelEngine : NSObject
/**
* 开启或关闭外部音频采集
* @param enable 开启或关闭
* @param samplerate 外部音频源的采样率 (Hz),可设置为 8000,16000,32000,44100 或 48000
* @param channels 外部音频源的通道数,可设置为 1 或 2
* @return
- 0(ERR_SUCCESS): 成功.
- < 0: 失败.
*/
- (int)setExternalRecorder:(bool)enable samplerate:(int)samplerate channels:(int)channels;

/**
* 推送外部音频数据
* @param buf 外部音频数据
* @param bufSize 外部音频数据大小
* @return
- 0(ERR_SUCCESS): 成功.
- < 0: 失败.
*/
- (int)pushExternalRecordFrame:(char*)buf bufSize:(int)bufSize;
@end

实现步骤

  1. 进入频道(join)前,调用setExternalRecorder方法启用自定义音频采集。
  2. 持续调用pushExternalRecordFrame方法,将采集的音频数据写入SDK,最好是加入房间成功后进行写入。

自定义播放

@protocol QttRtcDataDelegate <NSObject>
@optional
/**
* 获取到数据
* @param buf
* @param len
*/
- (int)onData:(char *)buf len:(int)len;
@end;
@interface QttChannelEngine : NSObject
/**
* 开启或关闭外部音频渲染
* @param enable 开启或关闭
* @param observer 数据监听器
* @param samplerate 外部音频源的采样率 (Hz),可设置为 8000,16000,32000,44100 或 48000
* @param channels 外部音频源的通道数,可设置为 1 或 2
* @param bufSize 数据回调大小,小于等于0为默认值
* @return
- 0(ERR_SUCCESS): 成功.
- < 0: 失败.
*/
- (int)setExternalPlayer:(bool)enable observer:(id<QttRtcDataDelegate>)observer samplerate:(int)samplerate channels:(int)channels bufSize:(int)bufSize;
@end

实现步骤

  1. 进入频道(join)前,调用setExternalPlayer方法启用自定义音频播放。
  2. QttRtcDataDelegate会通过onData接口持续回调待播放的数据。
野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题