У меня есть действие, которое представляет собой службу, которая воспроизводит аудио с помощью медиаплеера.Это сервис
class MusicService extends Service implements OnCompletionListener {
MediaPlayer mediaPlayer;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
mediaPlayer = MediaPlayer.create(this, R.raw.s);// raw/s.mp3
mediaPlayer.setOnCompletionListener(this);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (!mediaPlayer.isPlaying()) {
mediaPlayer.start();
}
return START_STICKY;
}
public void onDestroy() {
if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
}
mediaPlayer.release();
}
public void onCompletion(MediaPlayer _mediaPlayer) {
stopSelf();
}
}
Вместо воспроизведения из этого необработанного файла, я хочу, чтобы он воспроизводился по пути, который является строкой, идущей от SD-карты.путь хранится в классе, который вызывает службу. Как передать эту строку в класс службы и поместить ее в метод создания медиаплеера.вот где я звоню в службу
private void playAudio(String url) throws Exception{
Intent music = new Intent(this,MusicService.class);
startService(music);
}