android - 如何将耳机中的音频静音但让它以编程方式在扬声器上播放?

标签 android soundpool android-audiomanager headset speakerphone

我正在寻找解决此问题中指定的问题的方法:

How to disable the wired headset programmatically in Java

正如那里提到的,我的扬声器和耳机都收到音频。

有人可以告诉我如何以编程方式静音耳机中的音频,同时让它在扬声器上不减弱播放吗?

最佳答案

AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_CALL);
am.setSpeakerphoneOn(true);

然后通过AudioManager.STREAM_SYSTEM流播放声音。

声音播放完毕后,请务必将音频管理器返回到之前的状态,否则它将保留在扬声器上!!

关于android - 如何将耳机中的音频静音但让它以编程方式在扬声器上播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20965530/

相关文章:

java - Android:如何循环播放音效?

使用 SoundPool 的 OGG Audio 中的 Android Static

Android 检测到不成功的电话并稍后再试

android - (AudioManager)getSystemService(Context.AUDIO_SERVICE) 导致内存泄漏

android - 取消 ProgressDialog 并停止线程

android - 在自定义 View 中提供默认样式(属性)

android - Google Nexus 7 上的重要运动传感器

Android 小部件 - 使用带有远程 View 的 setOnClickPendingIntent 未收到 Intent

java - 在 soundpool 中播放多个实例

notifications - 设置音频属性音量