Я создаю музыкальный проигрыватель со службой, но когда я щелкаю песню в списке музыки, музыка запускается без ошибок, но если я возвращаюсь к списку и нажимаю другую, я получаю Attempt to call getDuration without a valid mediaplayer error (-38, 0)
Мой метод onStart в сервисе:
@Override
public void onStart(final Intent i, int startid) {
Log.d(TAG, "Start music");
re = 0;
songUrl = i.getData().toString();
streamMusic = new Thread() {
public void run() {
Looper.prepare();
try {
re = 1;
music.reset();
music.setDataSource(songUrl);
music.prepare();
this.interrupt();
} catch (Exception e) {
e.printStackTrace();
}
}
};
streamMusic.start();
}
Я запускаю службу с startService(i);
, и я установил music.setOnPreparedListener
, чтобы ничего не выполнялось раньше.
Как мне заставить это работать?