gpt4 book ai didi

android - 播放时可以改变声音输出吗?

转载 作者:太空狗 更新时间:2023-10-29 15:19:37 24 4
gpt4 key购买 nike

最近我开始使用 Android。

我正在尝试做一个小例子来了解 android 的声音输出。

为此,我构建了一个播放 mp3 文件的程序,在播放时可以将声音输出更改为:

  • 内部发言人
  • 外部演讲者
  • 耳机
  • 听筒

这可能吗?

我已经完成了部分代码,但不知道如何从一个声音输出跳转到另一个。

公共(public)类 TestAudioActivity 扩展 Activity {

private MediaPlayer mediaPlayer;
private ImageButton playButton;
private ImageButton pauseButton;
private ImageButton stopButton;
AudioManager audioManager;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

initializeMediaPlayer();

playButton = (ImageButton) findViewById(R.id.playButton);
pauseButton = (ImageButton) findViewById(R.id.pauseButton);
stopButton = (ImageButton) findViewById(R.id.stopButton);

playButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (mediaPlayer != null)
mediaPlayer.start();
else
initializeMediaPlayer();
}
});

pauseButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
/** if (mediaPlayer != null)
mediaPlayer.pause(); */
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(false);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);

}
});

stopButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (mediaPlayer != null) {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
}
}
});

}

private void initializeMediaPlayer() {
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("http://server3.pianosociety.com/protected/bach-bwv772-stahlbrand.mp3");
mediaPlayer.prepare();
} catch (IllegalArgumentException e) {
// Mostramos mensaje en caso de error.
Toast.makeText(getApplicationContext(), "URL no encontrada", 2000);
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

有人能帮忙吗?

谢谢。

最佳答案

我从来没有玩过媒体 Activity ,但是是的,你可以在播放时改变你的声音输出,例如你可以使用

audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setSpeakerphoneOn(true);

关于android - 播放时可以改变声音输出吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9218371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com