如何检测音频当前是不是正在 Android 手机扬声器上播放?
Posted
技术标签:
【中文标题】如何检测音频当前是不是正在 Android 手机扬声器上播放?【英文标题】:How to detect if the audio is currently playing on an Android phone speaker?如何检测音频当前是否正在 Android 手机扬声器上播放? 【发布时间】:2019-05-27 02:09:49 【问题描述】:当在设备扬声器(不是有线耳机和蓝牙接收器)上完成音频播放时,我需要在我的应用中进行一些自定义行为。 为此,我正在执行以下操作
AudioManager audioManager = (AudioManager) service.getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
isSpeakerPhoneOn = audioManager.isSpeakerphoneOn();
但 isSpeakerPhoneOn 总是为假。 顺便说一句,我是在播放开始后调用代码。
知道我做错了什么吗?
【问题讨论】:
【参考方案1】:我建议你试试这个
AudioManager manager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);
if(manager.isMusicActive())
// do something - or don't
【讨论】:
即使我正在通过 BT 耳机收听,这也将返回 true 您要检查扬声器是否在播放或蓝牙耳机是否在播放? 我想知道手机扬声器是否有声音 是的 isMusicActive() 应该可以完美运行!用于手机扬声器...我不知道它是否适用于BT耳机 它在播放过程中返回true,无论它是否通过BT接收器路由以上是关于如何检测音频当前是不是正在 Android 手机扬声器上播放?的主要内容,如果未能解决你的问题,请参考以下文章