Здравствуйте, у меня есть фрагмент, где воспроизводится музыка и service, для того чтобы, при сворачивании музыка продолжала играть. я нажимаю на плей, у меня вылетает из приложения, а если я if(mediaPlayer == null) убираю то начинает работать, только вот пауза еще перестает работать, кто знает в чем проблема?
Service:
public class AudioPlaybackService extends Service implements MediaPlayer.OnPreparedListener, MediaPlayer.OnCompletionListener
{
public class AudioPlaybackService extends Service implements MediaPlayer.OnPreparedListener, MediaPlayer.OnCompletionListener
{
MediaPlayer mediaPlayer;
public static final String EXTRA_AUDIO_URL = "audio_url";
String url;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (mediaPlayer == null){
this.url = intent.getStringExtra(EXTRA_AUDIO_URL);
try {
mediaPlayer.reset();
mediaPlayer.setDataSource(url);
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start();
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
else if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
} else {
mediaPlayer.start();
}
return START_STICKY;
}
@Override
public void onCreate()
{
super.onCreate();
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.setOnCompletionListener(this);
}
@Override
public void onCompletion(MediaPlayer mp)
{
// called when song has ended
}
@Override
public void onPrepared(MediaPlayer mp)
{
mediaPlayer.start();
}
@Override
public IBinder onBind(Intent arg0)
{
// TODO Auto-generated method stub
return null;
}
}
Fragment(кнопка паузы и старта):
playPause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
serviceIntent.putExtra(AudioPlaybackService.EXTRA_AUDIO_URL, "http://stream3.radiostyle.ru:8003/radioacca");
getActivity().startService(serviceIntent);