是否有一种方法来检测我的安卓电视遥控器是否有麦克风?



我有一个安卓电视应用程序,我正在集成语音识别器。直到今天我才发现安卓电视支持远程麦克风。

使用requireActivity().packageManager.hasSystemFeature(PackageManager.FEATURE_MICROPHONE)检测设备是否有麦克风很容易,但我认为它不能解释远程麦克风。

我的问题是是否有可能检测到我使用的遥控器是否有麦克风,这样我就可以显示"无音频信号";

我要做的是使用AudioRecord然后调用startRecording()的函数,之后,你应该通过调用getRecordingState()来检查记录器的状态。如果录音开始成功,它证明有一个麦克风连接到设备,无论内部或外部。该函数将返回3 (AudioRecord.RECORDSTATE_RECORDING),否则将返回1 (AudioRecord.RECORDSTATE_STOPPED)

下面是Kotlin的代码:
private fun checkMicAvailability(audioRecord: AudioRecord): Boolean {
audioRecord.startRecording()
val micCheckAvailability= audioRecord.recordingState == AudioRecord.RECORDSTATE_RECORDING
audioRecord.stop()
audioRecord.release()
return micCheckAvailability
}

请注意,您必须使用AudioRecord构造函数创建它。你可以看看Audio Recorder Documentation

最新更新