2014-01-27 5 views
1

Я работаю над музыкальным проигрывателем, и все в порядке, кнопки воспроизведения, остановки и паузы. Моя проблема в том, что всякий раз, когда песня играет, и я нажимаю кнопку «Назад» и снова открываю приложение, кнопки не будут работать с текущей песней.Как сохранить состояние медиаплеера?

Это происходит, когда я меняю ориентацию. Есть ли способ сохранить состояние медиаплеера, а затем получить состояние, чтобы я мог остановить песню, которая воспроизводится?

+0

вы можете сохранить где песня остановилась, используя настройки или Bundle, чтобы сохранить состояние и снова перезапустить медиаплеер с того места, где он остановился. посмотреть на th это нить http://stackoverflow.com/questions/17917994/how-to-play-audio-continuously-while-orientation-in-android –

+0

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

+0

, когда вы совсем из приложения, используя общие настройки, чтобы сохранить состояние –

ответ

0

Ну, вы могли бы использовать

.getCurrentPosition() 

, чтобы получить сколько миллисекунд в таял песни вы, а затем использовать

.seekTo(int milliseconds) 

при возобновлении или изменении ориентации, чтобы получить то же самое место.

0

Вы можете использовать метод SeekTo. Seek To

Затем добавить:

protected void onSaveInstanceState(Bundle out) { 
    super.onSaveInstanceState(out); 
    out.putInt(PLAY_TIME, mMediaPlayer.getCurrentPosition()); 
} 

И позже в OnCreate, вам просто нужно проверить что-то вроде этого:

if(savedInstanceState != null && savedInstanceState.containsKey(PLAY_TIME)) { 
     mMediaPlayer.seekTo(savedInstanceState.getInt(PLAY_TIME, 0)); 
    } 

Надеется, что это помогает

Смежные вопросы