我正在尝试制作一个音板应用程序,但面临一个问题,想知道两件事…
面临的问题
- 我正在使用onbackpressed和onpause,以便如果任何音乐正在播放,它应该停止,而不是在后台播放…但当我按回去时,它会出现3-5秒的白屏,然后开始主要活动……此外,当我最小化应用程序,然后再去它给一个白屏,不继续从我离开它的活动,它重新启动…
我想知道的事情…
-
如果我播放mp3..它播放得很好,但是当我点击另一个mp3时…他们一直在同一时间玩……我想知道,如果另一个开始播放,如何阻止一个播放…
MediaPlayer mp; @Override public void onBackPressed() { super.onBackPressed(); if (mp != null) mp.reset(); mp.release(); mp = null; } @Override protected void onPause() { super.onPause(); if (mp != null) mp.reset(); mp.release(); mp = null; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_kissymissy); ImageView a1 = findViewById(R.id.hugbut1); ImageView b1 = findViewById(R.id.hugbut2); MediaPlayer a2 = MediaPlayer.create(this, R.raw.jingle); MediaPlayer b2= MediaPlayer.create(this, R.raw.jingle); a1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { a2.start(); } }); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { b2.start(); } }); }
}
所有你需要设置停止当你开始播放其他媒体
媒体播放器议员;
@Override
public void onBackPressed() {
super.onBackPressed();
if (mp != null)
mp.reset();
mp.release();
mp = null;
}
@Override
protected void onPause() {
super.onPause();
if (mp != null)
mp.reset();
mp.release();
mp = null;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kissymissy);
ImageView a1 = findViewById(R.id.hugbut1);
ImageView b1 = findViewById(R.id.hugbut2);
MediaPlayer a2 = MediaPlayer.create(this, R.raw.jingle);
MediaPlayer b2= MediaPlayer.create(this, R.raw.jingle);
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
a2.start();
b2.stop();
}
});
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
b2.start();
a2.stop();
}
});
}