
# 自定义音频采集和渲染
 #### setExternalAudioCapture
```
- (int)setExternalAudioCapture:(BOOL)enable sampleRate:(NSUInteger)sampleRate channels:(NSUInteger)channels;
```
【**功能说明**】
设置是否开启外部音频采集。需要在加入房间前调用。
【**请求参数** 】
- enable：YES表示开启，NO表示关闭。默认为NO。
- sampleRate：音频采样率，支持16k、24k、32k、44.1k、48k采样率。
- channels：音频声道数，1表示单声道，2表示双声道。
 
【**返回参数** 】
- 0：方法调用成功。
- \> 0：方法调用失败。具体请参见[HWRtcErrorCode](https://support.huaweicloud.com/csdk-rtc/rtc_05_0080.html)。
 
![](https://support.huaweicloud.com/csdk-rtc/public_sys-resources/caution_3.0-zh-cn.png)
- 如果使用外部输入音频数据，需要在加入房间后，按照一定时间间隔调用[pushExternalAudioFrame]接口输入音频数据。
- 不支持房间内切换。
- 自采集音频输入规格：
  - 格式：PCM。
  
  - 采样率：16k/48k 。
  
  - 声道数：单声道。
  
  - 位数：16。
   
 
 #### pushExternalAudioFrame
```
- (int)pushExternalAudioFrame:(NSData * _Nonnull)audioData size:(NSUInteger)size;
```
【**功能说明**】
推送外部音频数据。
【**请求参数** 】
- audioData：音频流数据。
- size：音频输入数据大小。
 
【**返回参数**】
- 0：方法调用成功。
- \> 0：方法调用失败。具体请参见[HWRtcErrorCode](https://support.huaweicloud.com/csdk-rtc/rtc_05_0080.html)。
![](https://support.huaweicloud.com/csdk-rtc/public_sys-resources/caution_3.0-zh-cn.png)
- 此方法调用前，需要先调用[setExternalAudioCapture]设置开启外部音频采集。
- 数据输入周期：10ms。
- 音频输入数据大小：10 \* sampleRate \* channels \* 16 / 8 / 1000。
 
