检查Android设备是否有内置扬声器
如何检查运行Android的设备上是否有扬声器?意思是它能播放音频吗 它有任何配置限定符吗?那么以编程方式呢检查Android设备是否有内置扬声器,android,Android,如何检查运行Android的设备上是否有扬声器?意思是它能播放音频吗 它有任何配置限定符吗?那么以编程方式呢 编辑:刚买了一块Android Wear手表,它没有扬声器,所以我不确定如何检查这一点我想大多数Android手机都有扬声器:p/。。但是如果你问是否可以检查它是否连接到扬声器或耳机之类的东西,那么你可以使用 if (isBluetoothA2dpOn()) { // Adjust output for Bluetooth. } else if (isSpeakerphoneOn
编辑:刚买了一块Android Wear手表,它没有扬声器,所以我不确定如何检查这一点我想大多数Android手机都有扬声器:p/。。但是如果你问是否可以检查它是否连接到扬声器或耳机之类的东西,那么你可以使用
if (isBluetoothA2dpOn()) {
// Adjust output for Bluetooth.
} else if (isSpeakerphoneOn()) {
// Adjust output for Speakerphone.
} else if (isWiredHeadsetOn()) {
// Adjust output for headsets
} else {
// If audio plays and noone can hear it, is it still playing?
}
来源:Android API没有任何此类限定符,也没有任何库方法 但这只是一个原始的想法,试着播放一些音频,同时通过麦克风录音。 检查它们是否相同。 这不是一个简单的方法,只是一个想法 由于API级别为21(大多数安卓设备基于此级别),安卓系统提供了一项功能,可以使用witch检测是否有办法输出音频 我在我的MOTO 360(无扬声器)上测试了此功能,它没有此功能,Ticwatch(带扬声器)也有此功能 但当我将蓝牙耳机连接到MOTO 360时,它仍然没有这个功能,这让我很困惑 所以我用它做进一步的检查 检测代码可以如下所示:
public boolean hasAudioOutput() {
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
PackageManager packageManager = getPackageManager();
if (audioManager.isBluetoothA2dpOn()) {
// Adjust output for Bluetooth.
return true;
} else if (audioManager.isBluetoothScoOn()) {
// Adjust output for Bluetooth of sco.
return true;
} else if (audioManager.isWiredHeadsetOn()) {
// Adjust output for headsets
return true;
} else if (audioManager.isSpeakerphoneOn()) {
// Adjust output for Speakerphone.
return true;
} else if (packageManager.hasSystemFeature(PackageManager.FEATURE_AUDIO_OUTPUT)) {
// Has internal speaker or other form of audio output.
return true;
} else {
// No device for audio output.
return false;
}
}
嗯,我刚买了一块Android Wear手表,它没有音频,所以嗯…我不太确定这是否是我在寻找的,我明白了…有没有什么具体的原因,你需要检查音频(因为即使它播放,你也听不到)…哪家公司??因为安卓手表没有扬声器。他们有一个音频插孔instead@TusharGupta是的,这两款手表没有扬声器。不过,将来可能会有一些。另外,我还尝试使用相同的代码库中的大多数用于wear和mobile,因此如果我有一个解决方案检测到扬声器或未检测到扬声器,那就更好了嘿,你知道你可以使用上面的帖子来做你想做的事,使用最后一个来处理它,例如,如果扬声器和耳机未打开,然后进入决赛。这可能会检查音频是否正在播放,但没有人听到。我没有安卓手表来检查。但当我在静音设备上尝试时,它确实起作用。不确定“尝试播放一些音频并通过麦克风同时录制”,但“无法检查”会获得分数