问题描述: 在Android开发中,使用MediaRecorder类进行音频录制时,通过setPreferredDevice()方法设置录制音频的设备,但是无论如何设置,该方法似乎不起作用。
解决方法:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
AudioDeviceInfo[] devices = audioManager.getDevices(AudioManager.GET_DEVICES_ALL);
for (AudioDeviceInfo device : devices) {
if (device.getType() == AudioDeviceInfo.TYPE_USB_DEVICE) {
// 检查是否存在所需的设备
}
}
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
mediaRecorder = new MediaRecorder();
mediaRecorder.setPreferredDevice(device);
mediaRecorder.prepare();
mediaRecorder.start();
以上是解决Android中MediaRecorder setPreferredDevice()方法不起作用的方法。如果问题仍然存在,可以尝试检查设备权限、检查设备驱动程序是否正确安装以及检查其它可能导致问题的因素。