我有一个播放音轨列表的应用。它工作得很好,但是将声音输出改为内部扬声器,反之亦然,没有任何效果。它会停止当前的一个,然后在新模式下播放下一个。
我已经在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);
}
提前致谢!