我有一個服務,它發生在一個音頻文件,並與媒體播放器進行播放,這是我如何調用我的服務我的服務是沒有得到所謂的
private void playAudio(String url) throws Exception{
Intent music = new Intent(this,MusicService.class);
music.putExtra("paths", path);
startService(music);
}
,這是我的服務
class MusicService extends Service implements OnCompletionListener {
MediaPlayer mediaPlayer;
String musicFile;
@Override
public void onCreate() {
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnCompletionListener(this);
Toast.makeText(getApplicationContext(), "hello", Toast.LENGTH_LONG).show();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Bundle e = intent.getExtras();
musicFile= e.getString("paths");
try {
mediaPlayer.prepare();
mediaPlayer.setDataSource(musicFile);
} catch (IllegalArgumentException i) {
// TODO Auto-generated catch block
i.printStackTrace();
} catch (IllegalStateException i) {
// TODO Auto-generated catch block
i.printStackTrace();
} catch (IOException i) {
// TODO Auto-generated catch block
i.printStackTrace();
}
if (!mediaPlayer.isPlaying())
{
mediaPlayer.start();
}
return START_STICKY;
}
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
}
服務永遠不會執行,敬酒永遠不會成功,媒體播放器也不會播放路徑。謝謝,我提前爲幫助
我若在我的清單這樣
<service android:name=".MusicService" android:enabled="true"></service>
我得到一個強制關閉錯誤
你有例外嗎?在DDMS/LogCat中查看,如果你得到一個你無法理解的異常在這裏發佈。 – Asher
是的,我得到了一些說無法啓動服務IllegalAccessException –
堆棧跟蹤..... – Asher