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