我有一个调用这个服务类来播放媒体播放器的类
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();
}
}
我不希望它加载原始文件我希望它加载一个路径,该路径是调用此服务的类中的一个字符串。
String path = "path is here"
private void playAudio(String url) throws Exception{
Intent music = new Intent(this,MusicService.class);
intent.putExtra("paths",path)
startService(music);
我该怎么做...
音乐文件来自于sd卡
最佳答案
只需使用这个------------
MediaPlayer md=new MediaPlayer();
md.prepare();
md.setDataSource(path);
关于Android Mediaplayer 无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8276889/