رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تکرار دوبار یک مدیا پلیر
#1
سلام یک برنامه ساختم که نه تا voice توش هست و به صورت رندوم یکیشو انتخاب میکنه و پخش میکنه ولی مشکلم اینجاست که بعضی از ویس هارو دوبار پخش میکنه
تو برنامه تعریف کردم اگر ویس 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)); 
            }
        });


    }
}



پاسخ
تشکر شده توسط:
#2
اول اینکه یکبار توی اندروید استودیو CTRL+ALT+L رو بزنید که یکم کدها مرتب بشه و دوم اینکه فقط کدی که مربوط به انتخاب تصادفی آیتم و پخش اون هست رو بگذارین.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان