سلام یک برنامه ساختم که نه تا voice توش هست و به صورت رندوم یکیشو انتخاب میکنه و پخش میکنه ولی مشکلم اینجاست که بعضی از ویس هارو دوبار پخش میکنه
تو برنامه تعریف کردم اگر ویس 3 پخش شد و کاربر صفحه رو لمس کرد یک امتیاز مثبت و اگر یک ویس دیگه به غیر از ویس شماره 3 پخش شد یک امتیاز منفی بده
برای همزمان اجرا شدن کد ها از thread ها استفاده کردم ببینید مشکل کد هام چیه چرا بعضی از ویس ها دو بار پخش میشن؟
در ضمن chekNumberIs1 در یک حلقه قرار داره
تو برنامه تعریف کردم اگر ویس 3 پخش شد و کاربر صفحه رو لمس کرد یک امتیاز مثبت و اگر یک ویس دیگه به غیر از ویس شماره 3 پخش شد یک امتیاز منفی بده
برای همزمان اجرا شدن کد ها از thread ها استفاده کردم ببینید مشکل کد هام چیه چرا بعضی از ویس ها دو بار پخش میشن؟
در ضمن chekNumberIs1 در یک حلقه قرار داره
private void chekNumberIs1(){ lin.setOnClickListener(onClick); if(a==1){ a=0; } try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } if(col_number==1){ int voiceNumber= (int) (Math.random()*9); if(voiceNumber==0){ voiceNumber=20; hr2.post(new Runnable() { @Override public void run() { voice =MediaPlayer.create(getApplicationContext(), R.raw.voice_1); voice.start(); VOICE=1; ON_TAP=1; metod(); } }); } if(voiceNumber==1){ voiceNumber=20; hr5.post(new Runnable() { @Override public void run() { if(a==0){ voice =MediaPlayer.create(getApplicationContext(), R.raw.voice_2); voice.start(); a=1; } VOICE=2; ON_TAP=1; metod(); } }); } if(voiceNumber==2){ voiceNumber=20; hr2.post(new Runnable() { @Override public void run() { voice =MediaPlayer.create(getApplicationContext(), R.raw.voice_3); voice.start(); VOICE=3; ON_TAP=1; metod(); } }); } if(voiceNumber==3){ voiceNumber=20; hr2.post(new Runnable() { @Override public void run() { voice =MediaPlayer.create(getApplicationContext(), R.raw.voice_4); voice.start(); VOICE=4; ON_TAP=1; metod(); } }); } if(voiceNumber==4){ voiceNumber=20; hr2.post(new Runnable() { @Override public void run() { voice =MediaPlayer.create(getApplicationContext(), R.raw.voice_5); voice.start(); VOICE=5; ON_TAP=1; metod(); } }); } if(voiceNumber==5){ voiceNumber=20; hr2.post(new Runnable() { @Override public void run() { voice =MediaPlayer.create(getApplicationContext(), R.raw.voice_6); voice.start(); VOICE=6; ON_TAP=1; metod(); } }); } if(voiceNumber==6){ voiceNumber=20; hr2.post(new Runnable() { @Override public void run() { voice =MediaPlayer.create(getApplicationContext(), R.raw.voice_7); voice.start(); VOICE=7; ON_TAP=1; metod(); } }); } if(voiceNumber==7){ voiceNumber=20; hr2.post(new Runnable() { @Override public void run() { voice =MediaPlayer.create(getApplicationContext(), R.raw.voice_8); voice.start(); VOICE=8; ON_TAP=1; metod(); } }); }if(voiceNumber==8){ voiceNumber=20; hr2.post(new Runnable() { @Override public void run() { voice =MediaPlayer.create(getApplicationContext(), R.raw.voice_9); voice.start(); VOICE=9; ON_TAP=1; metod(); } }); } } } private void metod (){ TIME_TAP=1; try { Thread.sleep(Action); } catch (InterruptedException e) { e.printStackTrace(); } TIME_TAP=0; hr1.post(new Runnable() { @Override public void run() { if(col_number==1){ col_number=0; } lin.setBackgroundColor(Color.parseColor(Color01)); } }); } }