wake-up-neo.com

Android Media Player-Wiedergabe/Pause-Taste

In meinem Projekt spiele ich Musikdateien im Android Media Player mit dem folgenden Code ab

MediaPlayer mPlayer = MediaPlayer.create(MyActivity.this, R.raw.myfile);
mPlayer.start();

das Obige ist im Ein-Klick der Wiedergabetaste codiert. Ich möchte die Wiedergabe unterbrechen, indem Sie erneut auf dieselbe Schaltfläche klicken.

19
Dray

Sie können die Unterbrechung einfach mit if-check erledigen. Versuche dies:

if(mPlayer.isPlaying()){
    mPlayer.pause();
} else {
    mPlayer.start();
}
50
Ruuhkis

Bitte versuchen Sie dies ::

final Button bPlay = (Button) findViewById(R.id.bPlay);
MediaPlayer song1 = MediaPlayer.create(tutorialFour.this, R.raw.fluet);
Button bStop = (Button) findViewById(R.id.bStop);
bPlay.setWidth(10);

song1.setOnCompletionListener(new OnCompletionListener() {

        public void onCompletion(MediaPlayer mp) {

            bPlay.setText("Play");


        }
    });

bPlay.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            b = true;

            if (bPlay.getText().equals("Play") && b == true) {

                song1.start();

                bPlay.setText("Pause");
                b = false;
            } else if (bPlay.getText().equals("Pause")) {
                x = song1.getCurrentPosition();
                song1.pause();
                bPlay.setText("Resume");
                Log.v("log", "" + x);
                b = false;
            } else if (bPlay.getText().equals("Resume") && b == true) {
                song1.seekTo(x);
                song1.start();
                bPlay.setText("Pause");
                b = false;
            }


        }

    });
8
Nikunj Patel

Klicken Sie in der Schaltfläche auf mediaPlayer.isPlaying(). Dies gibt den Wert true zurück, wenn der Media Player andernfalls false spielt. 

Mit diesem Flag-Wert können Sie also eine if-Anweisung abgeben und wie folgt zum Abspielen oder Anhalten wechseln.

button.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {

            if (mediaplayer.isPlaying()) {
                mediaplayer.pause();
            } else {
                mediaplayer.start();
            }
        }
    });
5
Andro Selva

Der folgende Code kümmert sich um das Klick/Ereignis der Play/Pause-Taste sowie die Vorwärts- und Rückwärts-Tasten für die Suche nach Vorwärts- und Rückwärtssuche auf der bereitgestellten Suchleiste (die mit dem Medientrack synchronisiert ist). Derzeit spielt es nur EINEN Song. Sie können jedoch hinzufügen. Dies ist mein erster Mediaplayer, der mediaplayer class verwendet, daher könnte es sein, dass er etwas primitiv ist. Bei Bedarf können Sie jedoch auch die VideoView-Beispiele überprüfen. Mit VideoView ist es offensichtlich einfacher, da die Standard-Media-Konsole bereits in Form von vordefinierten Widgets vorhanden ist. Dies macht das Entwerfen des Players wesentlich einfacher.

package in.org.Test;

import Android.app.Activity;
import Android.media.MediaPlayer;

import Android.os.Bundle;

import Android.view.View;
import Android.view.View.OnClickListener;

import Android.widget.ImageButton;

import Android.widget.ProgressBar;
import Android.widget.SeekBar;

import Android.widget.Toast;

public class Test12Activity extends Activity implements OnClickListener,Runnable {

    private static final String isPlaying = "Media is Playing"; 
    private static final String notPlaying = "Media has stopped Playing"; 

    private SeekBar seek;

    MediaPlayer player = new MediaPlayer();
     private ImageButton plus,minus;

    ImageButton im;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        plus = (ImageButton) findViewById(R.id.imageButton2);
        minus = (ImageButton) findViewById(R.id.imageButton3);


        player = MediaPlayer.create(this, R.raw.sound2);


        player.setLooping(false); 
        im = (ImageButton) this.findViewById(R.id.imageButton1);


        seek = (SeekBar) findViewById(R.id.seekBar1);
        seek.setVisibility(ProgressBar.VISIBLE);
        seek.setProgress(0);
        seek.setMax(player.getDuration());
        new Thread(this).start();


        im.setOnClickListener(this);
        player.start(); 

        Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show();


        plus.setOnClickListener(new OnClickListener()   {
            @Override
            public void onClick(View v) { int cu = player.getCurrentPosition();  player.seekTo(cu-5000); }});
        minus.setOnClickListener(new OnClickListener()  {
            @Override
            public void onClick(View v) {int cu = player.getCurrentPosition();  player.seekTo(cu+5000);}});


    }


    @Override
    public void onClick(View arg0) {
        if (arg0.getId() == R.id.imageButton1) {
        if(player.isPlaying())  {
        player.pause();

        Toast.makeText(this, notPlaying, Toast.LENGTH_LONG).show();
        ImageButton img1=(ImageButton) this.findViewById(R.id.imageButton1);

        img1.setImageResource(R.drawable.play);

         }
        else
        {
            player.start();
            Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show();

            ImageButton img1=(ImageButton) this.findViewById(R.id.imageButton1);
            img1.setImageResource(R.drawable.pause);
        }   
        }
      }

    @Override
    public void run() {
        int currentPosition= 0; String s;
        int total = player.getDuration();
        while (player!=null && currentPosition<total) {
            try {
                Thread.sleep(1000);
                currentPosition= player.getCurrentPosition();
            } catch (InterruptedException e) {
                return;
            } catch (Exception e) {
                return;
            }            

            seek.setProgress(currentPosition);


        }


    }
}
3
Invictus
 MediaPlayer mpE = MediaPlayer.create(GuitarTuner.this, R.raw.test2 );

    play.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            if (mpE.isPlaying()) {
                mpE.pause();
                play.setBackgroundResource(R.drawable.play);
            } else {

                mpE.start();
                play.setBackgroundResource(R.drawable.pause);
            }

        }
    });

öffentliche Klasse MainActivity erweitert AppCompatActivity {

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

// Der Song wurde zuvor im Raw-Ordner gespeichert. Der Name des Songs lautet mylife (es ist eine MP3-Datei) final MediaPlayer mMediaPlayer = MediaPlayer.create (MainActivity.this, R.raw.mylife);

    //      Play song
    Button playButton = (Button) findViewById(R.id.play);
    playButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            mMediaPlayer.start(); // no need to call prepare(); create() does that for you
        }
    });
    //      Pause song
    Button pauseButton = (Button) findViewById(R.id.pause);
    pauseButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            mMediaPlayer.pause();
        }
    });

    //      Stop song - when you stop a song, you can't play it again. First you need to prepare it.

    Button stopButton = (Button) findViewById(R.id.stop);
    stopButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            mMediaPlayer.stop();
            mMediaPlayer.prepareAsync();
        }
    });

}

}

0
rfurtado

Um die Mediaplayer anzuhalten:

Mediaplayer.pause();
length = Mediaplayer.getCurrentPosition();

und für die Wiederaufnahme des Spielers von der Position, an der er kürzlich aufgehört hat, geschieht Folgendes:

Mediaplayer.seekTo(length);
Mediaplayer.start();
0
Hadi Salehy