Android播放音频输出到手机,但耳机插入没有声音

时间:2017-09-21 09:33:13

标签: android android-audiomanager

Android AudioManager和输出很难理解。我正在检查AudioManager api并搜索一些解释。但我想要的场景并不是我想要的方式。

我有本地下载的音频文件。首先我将它们作为STREAM_MUSIC播放。因此声音将输出到手机扬声器,当耳机插入时,它将通过耳机播放。

但我被要求将音频文件输出到手机而不是扬声器。 没有简单的方法来改变它。我设置了audioManager.setSpeakerPhoneOn(false),音频仍然通过扬声器播放输出。

所以经过研究,我修改如下:

AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
audioManager.requestAudioFocus(mFocusChangeListener, AudioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
audioManager.setSpeakerphoneOn(false);

通过将audioManager模式更改为MODE_IN_COMMUNICATION(如电话呼叫),音频文件最终输出到手机。但是当我插入耳机时,我没有听到耳机发出的声音,我也没有找到api在AudioManager中手动设置输出路径到手机。

有什么建议吗?

0 个答案:

没有答案
相关问题