如何在播放音频时切换扬声器和听筒

how to switching from speaker and earpiace during audio play

我需要实现一个切换功能来从扬声器和耳机切换

我用这个代码在耳机里玩

MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(this, Uri.parse("http://***.mp3"));
mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
mediaPlayer.prepare();
mediaPlayer.start();

if use AudioManager.STREAM_MUSIC instead of AudioManager.STREAM_VOICE_CALL 与扬声器一起使用。但如果我切换 rintime,则没有任何变化。这是我的代码

int currentPosition = mediaPlayer.getCurrentPosition();
mediaPlayer.stop();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepare();
mediaPlayer.seekTo(currentPosition);
mediaPlayer.start();

尝试这样做:

int currentPosition = mediaPlayer.getCurrentPosition();
mediaPlayer.stop();
// The next two lines are added to your original code
mediaPlayer.reset();
mediaPlayer.setDataSource(this, Uri.parse("http://***.mp3"));
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.prepare();
mediaPlayer.seekTo(currentPosition);
mediaPlayer.start();