私たちのアプリには MusicService があります。現在、音楽の再生と停止に関しては問題なく動作していますが、それはサービスの開始と停止からです。他のメソッドで呼び出していmp.pause()
ますが、null チェッカーで囲まれていないとクラッシュします。しかし、ヌルをチェックすると、まったく機能しません。これはすべて以前に機能していましたが、音楽を停止してもランダムに再生し続けたため、方法を再フォーマットし始めましたが、Android 4.0 (ICS)
それは重要ではありません.
public class MusicService extends Service {
public static MediaPlayer mp;
@Override
public IBinder onBind(final Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
mp = MediaPlayer.create(this, R.raw.title_music);
mp.setLooping(true);
mp.setVolume(200, 200);
}
@Override
public int onStartCommand(final Intent intent, final int flags, final int startId) {
mp.start();
return 1;
}
@Override
public void onStart(final Intent intent, final int startId) {
}
public IBinder onUnBind(final Intent arg0) {
return null;
}
public static void onStop() {
mp.stop();
mp.release();
}
public static void onPause() {
if (mp!=null) {
mp.pause();
}
}
public static void onResume() {
if (mp!=null) {
mp.start();
}
}
@Override
public void onDestroy() {
mp.stop();
mp.release();
super.onDestroy();
}
@Override
public void onLowMemory() {
mp.stop();
mp.release();
}
}
これを使用して、別のアクティビティでサービスを開始しています。
intent = new Intent(this, MusicService.class);
startService(intent);