音频设备管理
介绍跟音频设备管理相关的方法和回调。
startPlaybackDeviceTest:
启动音频播放设备测试。
Objective-C
- (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName;
详情
该方法用于测试本地音频播放设备是否能正常工作。启动测试后,SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。
调用该方法后,SDK 会每隔 100 毫秒触发一次 rtcEngine:reportAudioVolumeIndicationOfSpeakers:totalVolume: 回调,报告 uid = 1 及播放设备的音量信息。
该方法和 startEchoTestWithConfig: 的区别在于该方法检测本地的音频播放设备能否正常工作,后者可以检测音视频设备及网络是否正常。
注意
该方法需要在加入频道前调用。测试完成后,如需加入频道,请确保先调用 stopPlaybackDeviceTest 停止设备测试。
参数
- audioFileName
- 音频文件的绝对路径,路径字符串使用 UTF-8 编码格式。
- 支持文件格式: wav、mp3、m4a、aac。
- 支持文件采样率: 8000、16000、32000、44100、48000。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
stopPlaybackDeviceTest
停止音频播放设备测试。
Objective-C
- (int)stopPlaybackDeviceTest;
详情
该方法用于停止音频播放设备测试。调用 startPlaybackDeviceTest: 后,必须调用该方法停止测试。
注意
该方法需要在加入频道前调用。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
startRecordingDeviceTest:
启动音频采集设备测试。
Objective-C
- (int)startRecordingDeviceTest:(int)indicationInterval;
详情
该方法用于测试本地音频采集设备是否能正常工作。调用该方法后,SDK 会按设置的时间间隔触发 rtcEngine:reportAudioVolumeIndicationOfSpeakers:totalVolume: 回调,报告 uid = 0 及采集设备的音量信息。
该方法和 startEchoTestWithConfig: 的区别在于该方法检测本地的音频采集设备能否正常工作,后者可以检测音视频设备及网络是否正常。
信息
该方法需要在加入频道前调用。测试完成后,如需加入频道,请确保先调用 stopRecordingDeviceTest 停止设备测试。
参数
- indicationInterval
- SDK 触发 rtcEngine:reportAudioVolumeIndicationOfSpeakers:totalVolume: 回调的时间间隔,单位为毫秒,最小取值为 10,否则会收不到 rtcEngine:reportAudioVolumeIndicationOfSpeakers:totalVolume: 回调,SDK 会返回错误码
-2
。声网推荐你将该值设为 100。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
- -2: 参数设置错误,请重新设置参数。
stopRecordingDeviceTest
停止音频采集设备测试。
Objective-C
- (int)stopRecordingDeviceTest;
详情
该方法用于停止音频采集设备测试。调用 startRecordingDeviceTest: 后,必须调用该方法停止测试。
信息
该方法需要在加入频道前调用。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。