![](/img/trans.png)
[英]How to avoid sounds from overlapping when I press Next button using Fragments? (Android Studio)
[英]How do i make 1 button play random sounds each time i press the button using android studio
public class MainActivity extends AppCompatActivity {
MediaPlayer mp;
ImageButton soundbutton;
//這是要添加的聲音
int[] sounds ={R.raw.yeet1, R.raw.yeet2, R.raw.yeet3, R.raw.yeet4, R.raw.yeet5, R.raw.yeet6, R.raw.yeet7, R.raw.yeet8, R.raw.yeet9, R.raw.yeet10, R.raw.yeet11, R.raw.yeet12, R.raw.yeet13};
Random r = new Random();
int Low = 0;
int High= 13;
int rndm = r.nextInt(High-Low) + Low;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//創建Mediaplayer
soundbutton = (ImageButton) this.findViewById(R.id.button_view);
mp = MediaPlayer.create(getApplicationContext(),sounds[rndm]);
soundbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
if (mp.isPlaying()) {
mp.stop();
mp.release();
rndm = r.nextInt(High - Low) + Low;
mp = MediaPlayer.create(getApplicationContext(), sounds[rndm]);
}
mp.start();
} catch (Exception e) {
e.printStackTrace();
}
}
此代碼無法運行,我不確定是什么原因導致的!感謝您的幫助!
如果mp
沒有播放, if
不會執行if
塊。
更改為此:
@Override
public void onClick(View view) {
try {
if (mp.isPlaying()) {
mp.stop();
mp.release();
}
rndm = r.nextInt(High - Low) + Low;
mp = MediaPlayer.create(getApplicationContext(), sounds[rndm]);
mp.start();
} catch (Exception e) {
e.printStackTrace();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.