我正在制作一个流媒体音乐的应用程序。我正在使用 aservice
在后台播放在线 mp3 文件中的音乐。但是该服务停止prepareAsync()
并且永远不会完成准备,因此音乐播放不会开始。IE。该onPrepared()
方法永远不会被调用。注意:我在 anactivity
而不是 a中使用了相同的代码,service
并且不会出现此问题。这里有什么问题?编码:
public class mp3playerservice extends IntentService implements OnPreparedListener {
String track;
String info[];
String name;
MediaPlayer mp;
Bundle extras;
public mp3playerservice() {
super("mp3playerservice");
}
// Will be called asynchronously be Android
@Override
protected void onHandleIntent(Intent intent) {
extras = intent.getExtras();
info=extras.getStringArray("info");
track=info[1];
name=info[0];
mp= new MediaPlayer();
if(mp.isPlaying()){
mp.release();
mp=new MediaPlayer();
}
start1(track);
}
void start1(String a){
try{
mp.setDataSource(a);
mp.setOnPreparedListener(this);
mp.prepareAsync();
}catch(Exception e){
Log.d("error is "+e.toString(),"error came up");
}
}
public void onPrepared(MediaPlayer mp4){
mp.start();
Log.d("in here2","okay");
}
}