Подтвердить что ты не робот

Как возобновить работу медиаплеер?

Я использую медиаплеер.

У меня есть возможность запускать, останавливать и приостанавливать проигрыватель. Проблема в том, что я не могу найти вариант возобновить песню с того момента, когда она была приостановлена.

Любая помощь будет очень полезной.

4b9b3361

Ответ 1

Благодарим вас за внимание, но у меня есть сам.

для приостановки использования медиапланера, который я использовал:

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

и для возобновления игрока с позиции, где он остановился в последнее время, выполняется:

Mediaplayer.seekTo(length);
Mediaplayer.start();

Ответ 2

Думаю, вам стоит ознакомиться с документацией, найденной здесь: http://developer.android.com/reference/android/media/MediaPlayer.html

Некоторые цитаты из документов:

Воспроизведение может быть приостановлено и остановлено, и текущая позиция воспроизведения может отрегулировать. Воспроизведение можно приостановить через pause(). Когда вызов для приостановки() возвращает объект MediaPlayer приостановленное состояние. Обратите внимание, что переход из состояния Started в приостановленное состояние и наоборот происходит асинхронно в проигрывателе двигатель. Это может занять некоторое время до состояние обновляется при звонках isPlaying(), и это может быть ряд секунд в случае потоковой передачи содержание.

  • Вызов start() для возобновления воспроизведение приостановленного MediaPlayer объект и возобновленное воспроизведение позиция такая же, как там, где она была сделал паузу. Когда вызов для запуска() возвращает, приостановленный объект MediaPlayer возвращается в состояние Started.
  • Вызов pause() не влияет на Объект MediaPlayer, который уже находится в приостановленное состояние.

Государства объяснили:

States of MediaPlayer

И цитируйте метод start() MediaPlayer

public void start()

Запускает или возобновляет воспроизведение. Если воспроизведение было ранее приостановлено, воспроизведение будет продолжаться откуда он был приостановлен. Если воспроизведение был остановлен или никогда не начинался прежде, воспроизведение начнется с начало.

Чтобы ответить на ваш вопрос напрямую, чтобы возобновить приостановленный экземпляр MediaPlayer с того места, где он был приостановлен, снова используйте start() в этом экземпляре.

Ответ 3

В принятом ответе правильный порядок

Mediaplayer.start();

Mediaplayer.seekTo(длина);

Ответ 4

При использовании seekTo я обнаружил, что он часто начинает играть с самого начала трека, а затем продолжает воспроизведение с того места, где был установлен seekTo.

Что сработало для меня, было приглушено тома, а затем вытолкнули его обратно, как только currentProgress соответствует текущему поиску (сохраненному в глобальном масштабе).

Ответ 5

   public class MainActivity extends AppCompatActivity {

    MediaPlayer mediaPlayer;
   public void play(View view) {
           mediaPlayer.start();
   }
   public void pause(View view){
           mediaPlayer.pause();
   }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mediaPlayer= MediaPlayer.create(this,R.raw.someaudio);
    }
}

Сделайте две кнопки для воспроизведения и паузы. И используйте этот код. Это сработало для меня.

Ответ 6

как насчет этого пути?

     package com.mycompany.audiodemo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.media.MediaPlayer;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    MediaPlayer mediaPlayer=null;
    int playPosition=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mediaPlayer = MediaPlayer.create(this,R.raw.sampleaudio);
    }

    public void playAudio(View view){

        //mediaPlayer.seekTo(playPosition);
        mediaPlayer.start();

    }

    public void pauseAudio(View view){
        mediaPlayer.pause();
        //playPosition =  mediaPlayer.getCurrentPosition();
    }
}