
# 自定义音频采集和渲染
 #### setExternalAudioFrameOutputEnable
```
public abstract int setExternalAudioFrameOutputEnable(boolean localEnable,boolean remoteEnable);
```
【**功能说明**】
设置音频数据输出使能。
【**请求参数** 】
- localEnable：true表示输出本地音频数据，false表示不输出本地音频数据。
- remoteEnable：true表示输出远端音频数据，false表示不输出远端音频数据。
 
【**返回参数**】
- 0：成功。
- \>0：失败。具体请参见[客户端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0035.html)。
![](https://support.huaweicloud.com/csdk-rtc/public_sys-resources/caution_3.0-zh-cn.png)
通过[onPlaybackExternalAudioFrame](https://support.huaweicloud.com/csdk-rtc/rtc_05_0025.html#rtc_05_0025__section6925104201110)回调音频数据。
 #### setExternalAudioCapture
```
public abstract int setExternalAudioCapture(boolean audioEnable,int sampleRate,int channels);
```
【**功能说明**】
设置是否开启外部音频采集。需要在加入房间前调用。
【**请求参数** 】
- audioEnable：true表示音频使用外部采集，false表示音频不使用外部采集，默认值为false。
- sampleRate：采样率，当前支持16k、24k、32k、44.1k、48k采样率。
- channels：频道数，当前只支持单声道，1表示单声道，2表示双声道。
 
【**返回参数**】
- 0：成功。
- \> 0：失败。具体请参见[客户端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0035.html)。
![](https://support.huaweicloud.com/csdk-rtc/public_sys-resources/caution_3.0-zh-cn.png)
如果使用外部输入音频数据，需要在加入房间后，按照一定时间间隔调用[pushExternalAudioFrame]接口输入音频数据。
 #### pushExternalAudioFrame
```
public abstract int pushExternalAudioFrame(byte[] audioData);
```
【**功能说明**】
输入外部音频数据。
【**请求参数**】
audioData：音频数据。
**【返回参数**】
- 0：成功。
- \> 0：失败。具体请参见[客户端错误码](https://support.huaweicloud.com/csdk-rtc/rtc_05_0035.html)。
![](https://support.huaweicloud.com/csdk-rtc/public_sys-resources/caution_3.0-zh-cn.png)
- 此方法调用前，需要先调用[setExternalAudioCapture]设置开启外部音频采集。
- 数据输入周期：10ms。
- 音频输入数据大小：10 \* sampleRate \* channels \* 16 / 8 / 1000。
 
