Android - 如何在播放声音时改变声音输出?

时间:2016-03-01 00:03:03

标签: android audio android-mediaplayer

我有一个播放音轨列表的应用。它工作得很好,但是将声音输出改为内部扬声器,反之亦然,没有任何效果。它会停止当前的一个,然后在新模式下播放下一个。

我已经在MediaPlayer的android文档中读到了我无法使用setAudioStreamType()方法更改声音输出。所以这就是问题所在,但无法找到解决方案!

这是播放曲目时切换的代码:

        if (this.audioManager.isSpeakerphoneOn() || this.getCurrent() == 1) {
            this.audioManager.setMode(AudioManager.MODE_IN_CALL);
            this.audioManager.setSpeakerphoneOn(false);
            this.mPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
        } else if (this.getCurrent() != 0) {
            this.audioManager.setMode(AudioManager.MODE_NORMAL);
            this.audioManager.setSpeakerphoneOn(true);
            this.mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        }

提前致谢!

0 个答案:

没有答案