android 判断是否已接入麦克风? 写一个java样例
时间: 2024-10-16 19:04:27 浏览: 27
在Android中,你可以通过AudioManager类来检测设备是否已经连接了麦克风。下面是一个简单的Java示例,展示了如何检查设备是否支持录音功能,间接判断是否有麦克风:
```java
import android.media.AudioManager;
import android.os.Build;
public class MicrophoneChecker {
private static final int AUDIO_RECORD_PERMISSION = Manifest.permission.RECORD_AUDIO;
public static boolean isMicrophoneAvailable(Context context) {
// 检查权限,如果没有则返回false
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !context.checkSelfPermission(AUDIO_RECORD_PERMISSION).equals(Permission_GRANTED)) {
return false;
}
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int recordingSources = audioManager.getRecordingSources();
// 如果录音源包含MICROPHONE,说明有麦克风
return (recordingSources & AudioManager.RECORDING_SOURCE_MICROPHONE) != 0;
}
}
```
在这个例子中,我们首先获取AudioManager实例,然后调用`getRecordingSources()`方法,这个方法会返回当前可用的录音源。如果结果中包含`AM.RecordingSource.MICROPHONE`标志,那么就表示设备上安装了麦克风。
阅读全文