Я написал две оболочки класса для android.media.mediaplayer.Android MediaPlayer.stop() приостанавливается, а не останавливается
Если я использую объект с фабрики MediaPlayer.Create(). то объект медиаплеера останавливает песню, когда вызывается метод stop (это значит, остановить песню, поэтому, когда я вызываю play(), она начинается с начала песни). Но если я использую конструктор по умолчанию, stop() ведет себя точно так же, как pause(), сохраняя предыдущую позицию в песне (за исключением того, что она действительно находится в состоянии остановки).
Мне пришлось использовать seekTo (0) после prepare() и stop(), чтобы делать то, что я хочу, но это не то, что говорит документация.
общественного недействительными старт() С: уровень API 1
Запуск или возобновление воспроизведения. Если воспроизведение ранее было приостановлено, воспроизведение продолжится с того места, где оно было приостановлено. Если воспроизведение было остановлено или никогда не начиналось раньше, воспроизведение начнется с начала .
Итак, если я позвоню start(), когда он остановлен, он должен начинаться с самого начала.
Это код из метода stopSong из моего класса:
public void stopSong() {
if(mpPrepared){
mp.stop();
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.seekTo(0);
}
}
Может кто-нибудь сказать мне, почему это происходит? Благодаря!
я тестировал, но все еще только делает паузу. Я не вижу, как изменение условия изменит поведение stop(). Спасибо, в любом случае. –
Могу ли я увидеть весь код? – Intathep