在Android中,可以使用MediaPlayer来播放音频文件。要在播放另一个音频时暂停当前音频,可以使用如下代码示例:
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private MediaPlayer mediaPlayer1;
private MediaPlayer mediaPlayer2;
private Button playButton1;
private Button playButton2;
private boolean isPlaying1;
private boolean isPlaying2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化MediaPlayer并设置音频文件
mediaPlayer1 = MediaPlayer.create(this, R.raw.audio1);
mediaPlayer2 = MediaPlayer.create(this, R.raw.audio2);
// 初始化按钮并设置点击事件
playButton1 = findViewById(R.id.play_button1);
playButton2 = findViewById(R.id.play_button2);
playButton1.setOnClickListener(this);
playButton2.setOnClickListener(this);
isPlaying1 = false;
isPlaying2 = false;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.play_button1:
if (!isPlaying1) {
// 播放音频1,并暂停音频2
mediaPlayer1.start();
mediaPlayer2.pause();
isPlaying1 = true;
isPlaying2 = false;
playButton1.setText("暂停1");
playButton2.setText("播放2");
} else {
// 暂停音频1
mediaPlayer1.pause();
isPlaying1 = false;
playButton1.setText("播放1");
}
break;
case R.id.play_button2:
if (!isPlaying2) {
// 播放音频2,并暂停音频1
mediaPlayer2.start();
mediaPlayer1.pause();
isPlaying2 = true;
isPlaying1 = false;
playButton2.setText("暂停2");
playButton1.setText("播放1");
} else {
// 暂停音频2
mediaPlayer2.pause();
isPlaying2 = false;
playButton2.setText("播放2");
}
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
// 释放MediaPlayer资源
mediaPlayer1.release();
mediaPlayer2.release();
}
}
在这个示例中,我们在MainActivity中使用了两个MediaPlayer对象来播放音频文件。通过设置按钮的点击事件,可以控制播放和暂停不同的音频。
在点击播放按钮时,我们根据当前音频的状态来判断是播放还是暂停,并相应地调用MediaPlayer的start()和pause()方法。同时,我们还需要暂停另一个音频的播放,以确保同时只有一个音频在播放。
最后,在Activity销毁时,我们需要释放MediaPlayer的资源,以避免内存泄漏。