自定义音频采集
更新时间:2021-05-26
概述
实时音视频传输过程中默认会采集摄像头的音视频数据,如果 app
有自己音频输入源,希望能够单独输入音频数据源,可以使用自定义音频采集功能。
说明
自定义音频采集,拉流端听到的是推流端推的自定义音频流。
步骤
- 打开外置音频采集功能
- 登录房间并推流
- 对音频进行解码
- 调用发送功能来发送外置音频数据
相关 API
打开和关闭外置音频采集功能
加入房间之前设置
/*
* 打开和关闭外置音频采集功能,该参数如果打开会自动将 SDK 内置麦克风功能禁用,由用户向 SDK 输入音频 PCM 数据。
* @param enable true: 打开,false: 关闭
*/
[[LVRTCEngine sharedInstance] enableExternalAudioInput:true];
发送外置音频数据
/*
* 发送外置音频数据,注:只有调用 enableExternalAudioInput 打开外部音频输入接口之后才会生效
* @param audioFrameBuffer 音频数据
* @param length 音频数据长度(int16_t 数组数据长度)
* @return 发送成功与否
*/
[[LVRTCEngine sharedInstance] sendAudioFrame:buffer length:(int) length];
设置外置音频数据参数
加入房间之前设置
/*
* / 设置外置音频数据参数
* / @param audioConfig 音频参数
*/
-(void)setExternalAudioConfig:(LVAudioRecordConfig *)audioConfig;
-
外置音频参数(LVAudioRecordConfig )说明:
开启外置音频后可自定义外置音频采样率、 声道等。如果不设置,将会使用默认值。
/* / 外置音频采集参数配置 */
@interface LVAudioRecordConfig : NSObject
/* / 外置音频采集输入采样率(默认 48000) */
@property (nonatomic, assign) int sampleRate;
/* / 外置音频采集输入声道数 (默认 1) */
@property (nonatomic, assign) int channels;
/* / 每个 buffer 输入的数据长度(该参数必须和 sendAudioBuffer 的接口传入的数据长度一致) */
@property (nonatomic, assign) int framesPerBuffer;
@end