मैंने 21 प्ले बटन और सभी को नियंत्रित करने के लिए एक स्टॉप बटन वाला MediaPlayer बनाया है। मैंने निरंतर प्लेबैक के लिए लूप भी सेट किया है। जब कोई उपयोगकर्ता एक प्ले बटन दबाता है और बाद में दूसरा प्ले बटन दबाता है। मीडियाप्लेयर ने रुकने से मना कर दिया। कृपया मुझे छुड़ाएं। धन्यवाद! फिर से आपकी मदद की उम्मीद में

नीचे मैंने वह किया है जो काम नहीं किया

यह है PopUpMenuWindow.class

public class PopUpMenuWindowActivity extends AppCompatActivity implements View.OnClickListener {

    ImageButton StopButton;

    private static MediaPlayer mp;
    private Intent mediaServiceIntent;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pop_up_menu_window);

        final DisplayMetrics displayMetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);

        int width = displayMetrics.widthPixels;
        int hight = displayMetrics.heightPixels;

        getWindow().setLayout((int)(width*.9), (int)(hight*.8));

        WindowManager.LayoutParams params = getWindow().getAttributes();
        params.gravity = Gravity.CENTER;
        params.x = 0;
        params.y = -20;

        getWindow().setAttributes(params);

        // Dismiss popUpMenu Window
        ImageButton backButton = (ImageButton) findViewById(R.id.back_arrow);
        backButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });


        //Get button views IDs
        //Get button views IDs
        StopButton = (ImageButton) findViewById(R.id.stop);

        findViewById(R.id.play_1).setOnClickListener(this);
        findViewById(R.id.play_2).setOnClickListener(this);
        findViewById(R.id.play_3).setOnClickListener(this);
        findViewById(R.id.play_4).setOnClickListener(this);
        findViewById(R.id.play_5).setOnClickListener(this);

        findViewById(R.id.play_1a).setOnClickListener(this);
        findViewById(R.id.play_2a).setOnClickListener(this);
        findViewById(R.id.play_3a).setOnClickListener(this);
        findViewById(R.id.play_4a).setOnClickListener(this);
        findViewById(R.id.play_5a).setOnClickListener(this);

        findViewById(R.id.play_1b).setOnClickListener(this);
        findViewById(R.id.play_2b).setOnClickListener(this);
        findViewById(R.id.play_3b).setOnClickListener(this);
        findViewById(R.id.play_4b).setOnClickListener(this);
        findViewById(R.id.play_5b).setOnClickListener(this);
        findViewById(R.id.play_6b).setOnClickListener(this);

        findViewById(R.id.play_1c).setOnClickListener(this);
        findViewById(R.id.play_2c).setOnClickListener(this);
        findViewById(R.id.play_3c).setOnClickListener(this);
        findViewById(R.id.play_4c).setOnClickListener(this);
        findViewById(R.id.play_5c).setOnClickListener(this);
        findViewById(R.id.play_6c).setOnClickListener(this);

        findViewById(R.id.play_1d).setOnClickListener(this);
        findViewById(R.id.play_2d).setOnClickListener(this);
        findViewById(R.id.play_3d).setOnClickListener(this);
        findViewById(R.id.play_4d).setOnClickListener(this);


        mediaServiceIntent = new Intent(getApplicationContext(), MediaplayerService.class);


    }



    @Override
    public void onClick(View view) {
        switch (view.getId()){

            // First row MediaPlayer buttons
            case R.id.play_1:
                startService(new Intent(getApplicationContext(), MediaplayerService.class));
                finish();
                break;

            case R.id.play_2:
                mp = MediaPlayer.create(this, R.raw.track2);
                finish();
                break;

            case R.id.play_3:
                mp = MediaPlayer.create(this, R.raw.track3);
                finish();
                break;

            case R.id.play_4:
                mp = MediaPlayer.create(this, R.raw.track4);
                finish();
                break;

            case R.id.play_5:
                mp = MediaPlayer.create(this, R.raw.track5);
                finish();
                break;

            // Second row MediaPlayer buttons
            case R.id.play_1a:
                mp = MediaPlayer.create(this, R.raw.track6);
                finish();
                break;

            case R.id.play_2a:
                mp = MediaPlayer.create(this, R.raw.track7);
                finish();
                break;

            case R.id.play_3a:
                mp = MediaPlayer.create(this, R.raw.track8);
                finish();
                break;

            case R.id.play_4a:
                mp = MediaPlayer.create(this, R.raw.bell2);
                finish();
                break;

            case R.id.play_5a:
                mp = MediaPlayer.create(this, R.raw.track9);
                finish();
                break;

            // Third row MediaPlayer buttons
            case R.id.play_1b:
                mp = MediaPlayer.create(this, R.raw.track10);
                finish();
                break;

            case R.id.play_2b:
                mp = MediaPlayer.create(this, R.raw.track11);
                finish();
                break;

            case R.id.play_3b:
                mp = MediaPlayer.create(this, R.raw.track12);
                finish();
                break;

            case R.id.play_4b:
                mp = MediaPlayer.create(this, R.raw.track13);
                finish();
                break;

            case R.id.play_5b:
                mp = MediaPlayer.create(this, R.raw.track14);
                finish();
                break;

            case R.id.play_6b:
                mp = MediaPlayer.create(this, R.raw.track15);
                finish();
                break;



            // Fourth row MediaPlayer buttons
            case R.id.play_1c:
                mp = MediaPlayer.create(this, R.raw.track16);
                finish();finish();
                break;

            case R.id.play_2c:
                mp = MediaPlayer.create(this, R.raw.track17);
                finish();
                break;

            case R.id.play_3c:
                mp = MediaPlayer.create(this, R.raw.track18);
                finish();
                break;

            case R.id.play_4c:
                mp = MediaPlayer.create(this, R.raw.track19);
                finish();
                break;

            case R.id.play_5c:
                mp = MediaPlayer.create(this, R.raw.track20);
                finish();
                break;

            case R.id.play_6c:
                mp = MediaPlayer.create(this, R.raw.track21);
                finish();
                break;


            // Fifth row MediaPlayer buttons
            case R.id.play_1d:
                mp = MediaPlayer.create(this, R.raw.track22);
       
                finish();
                break;

                case R.id.play_2d:
                mp = MediaPlayer.create(this, R.raw.track23);
                   
                finish();
                break;

            case R.id.play_3d:
                mp = MediaPlayer.create(this, R.raw.track24);
                finish();
                break;

            case R.id.play_4d:
                mp = MediaPlayer.create(this, R.raw.track25);
                finish();
                break;


            default:
                return;
        }

        mp.start();
        mp.setLooping(true);
}

public void stop(View v) {
    startService(new Intent(getApplicationContext(), MediaplayerService.class));

}

}

1
davidigbogree 13 सितंबर 2020, 11:25

2 जवाब

सबसे बढ़िया उत्तर

प्रत्येक बटन पर क्लिक करने के लिए आपको प्रत्येक खिलाड़ी को ठीक उसी तरह जांचना होगा जैसे वह दूसरे खिलाड़ी को रोक देगा और क्लिक किए गए बटन का ऑडियो चलाएगा

if (player09==null){
        player09=MediaPlayer.create (this,R.raw.twentytwo);
        player09.setOnCompletionListener (new MediaPlayer.OnCompletionListener () {
            @Override
            public void onCompletion(MediaPlayer mp) {
                player09.pause ();
            }
        });
    }
    if(player02 != null)
        player02.pause();
    if(player03 != null)
        player03.pause();
    if(player04 != null)
        player04.pause();
    if(player05 != null)
        player05.pause();
    if(player06 != null)
        player06.pause();
    if(player07 != null)
        player07.pause();
    if(player08 != null)
        player08.pause();
    if(player01 != null)
        player01.pause();
    player09.start ();
    player09.setLooping (true);

और फिर onStop बटन पर आपको ऐसे ही चेक करना है

if(this.player01!=null){
        player01.pause ();
        //Toast.makeText (this,"8kHz Stop",Toast.LENGTH_SHORT).show ();
    }
    if (this.player02!=null){
        player02.pause ();
        //Toast.makeText (this,"10kHz Stop",Toast.LENGTH_SHORT).show ();
    }
    if (this.player03!=null){
        player03.pause ();
        //Toast.makeText (this,"12kHz Stop",Toast.LENGTH_SHORT).show ();
    }
    if (this.player04!=null){
        player04.pause ();
        //Toast.makeText (this,"14kHz Stop",Toast.LENGTH_SHORT).show ();
    }
    if (this.player05!=null){
        player05.pause ();
        //Toast.makeText (this,"16kHz Stop",Toast.LENGTH_SHORT).show ();
    }
    if (this.player06!=null){
        player06.pause ();
        //Toast.makeText (this,"17kHz Stop",Toast.LENGTH_SHORT).show ();
    }
    if (this.player07!=null){
        player07.pause ();
        //Toast.makeText (this,"20kHz Stop",Toast.LENGTH_SHORT).show ();
    }
    if (this.player08!=null) {
        player08.pause ();
        //Toast.makeText (this,"21kHz Stop",Toast.LENGTH_SHORT).show ();
    }
    if (this.player09!=null){
        player09.pause ();
        //Toast.makeText (this,"24kHz Stop", Toast.LENGTH_SHORT).show ();
    }

आप प्लेयर को रोक सकते हैं या रोक सकते हैं जो ऑडियो को रोकने के लिए सिंगल बटन क्लिक से आपकी मदद कर सकता है

3
Syed Rafaqat Hussain 14 सितंबर 2020, 08:01

आप मीडियाप्लेयर की एक सरणी ले सकते हैं, एक बार सरणी में बनाने के बाद खिलाड़ी जोड़ सकते हैं और फिर उस सरणी को इंडेक्स द्वारा प्रबंधित कर सकते हैं, और स्टॉप बटन पर एक-एक स्टॉप प्लेयर का उपयोग करके लूप का उपयोग कर सकते हैं।

ArrayList<Mediaplayer> playerarray=new ArrayList();


//Create player.....

for(int i=0;i<15;i++){

mp = MediaPlayer.create(this, R.raw.track_i);

playerarray.add(mp)

}


// stop player


for(int i=0;i<15;i++){

if(playerarray[i]!=null){
    playerarray[i].pause;
    playerarray[i].stop;
   }

 }
}
0
Khyati Chitroda 14 सितंबर 2020, 08:14