startHardwareEchoDetection method
@detail api
@author zhangcaining
@brief 开启通话前回声检测
@param testAudioFilePath 用于回声检测的音频文件的绝对路径,路径字符串使用 UTF-8 编码格式,支持以下音频格式: mp3,aac,m4a,3gp,wav。
音频文件不为静音文件,推荐时长为 10 ~ 20 秒。
@return 方法调用结果:
- 0: 成功。
- -1:失败。上一次检测未结束,请先调用 stopHardwareEchoDetection{@link #ByteRTCEngine#stopHardwareEchoDetection} 停止检测 后重新调用本接口。
- -2:失败。路径不合法或音频文件格式不支持。
@note
- 只有当 ByteRTCRoomProfile{@link #ByteRTCRoomProfile} 为 ByteRTCRoomProfileMeeting 和 ByteRTCRoomProfileMeetingRoom 时支持开启本功能。
- 开启检测前,你需要向用户获取音频设备的使用权限。
- 开启检测前,请确保音频设备没有被静音,采集和播放音量正常。
- 调用本接口后监听 rtcEngine:onHardwareEchoDetectionResult:{@link #ByteRTCEngineDelegate#rtcEngine:onHardwareEchoDetectionResult} 获取检测结果。
- 检测期间,进程将独占音频设备,无法使用其他音频设备测试接口: startEchoTest:playDelay:{@link #ByteRTCEngine#startEchoTest:playDelay}、startAudioDeviceRecordTest:{@link #ByteRTCAudioDeviceManager#startAudioDeviceRecordTest} 或 startAudioPlaybackDeviceTest:interval:{@link #ByteRTCAudioDeviceManager#startAudioPlaybackDeviceTest:interval}。
- 调用 stopHardwareEchoDetection{@link #ByteRTCEngine#stopHardwareEchoDetection} 停止检测,释放对音频设备的占用。
Implementation
FutureOr<int> startHardwareEchoDetection(NSString testAudioFilePath) async {
return await nativeCall('startHardwareEchoDetection:', [testAudioFilePath]);
}