0

アプリのバックグラウンド ミュージックを設定して、アプリを使用している間は再生し続け、ホーム ボタンを押すと一時停止します。問題は、電話がホーム画面に移動したときに音楽を一時停止すると、アプリ内の別のアクティビティに移動したときにも音楽が一時停止することです. アクティビティを切り替えている間、音楽を再生し続ける方法はありますか (たとえば、アプリで別の画面を開くことができるメニューがあり、電話がメニュー画面を離れるとすぐに音楽の再生が停止します)。私のコードは次のとおりです。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(Menu.this, android.R.layout.simple_list_item_1,
            classes));
    mp = MediaPlayer.create(Menu.this, R.raw.music);
    mp.start();

}

@Override
protected void onPause() {
    super.onPause();
}

@Override
protected void onStop() {
    super.onStop();
    mp.pause();
}

@Override
protected void onResume() {
    super.onResume();
    mp.start();
}

@Override
protected void onDestroy() {
    super.onDestroy();
    mp.release();
    finish();
}

}

4

2 に答える 2

2

Serviceバックグラウンドで音楽を再生し続ける を作成できます

サンプルコード:

import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.util.Log;

public class PlayAudio extends Service{
    private static final String LOGCAT = null;
    MediaPlayer objPlayer;

    public void onCreate(){
        super.onCreate();
        Log.d(LOGCAT, "Service Started!");
        objPlayer = MediaPlayer.create(this,R.raw.sleepaway);
    }

    public int onStartCommand(Intent intent, int flags, int startId){
        objPlayer.start();
        Log.d(LOGCAT, "Media Player started!");
        if(objPlayer.isLooping() != true){
            Log.d(LOGCAT, "Problem in Playing Audio");
        }
        return 1;
    }

    public void onStop(){
        objPlayer.stop();
        objPlayer.release();
    }

    public void onPause(){
        objPlayer.stop();
        objPlayer.release();
    }
    public void onDestroy(){
        objPlayer.stop();
        objPlayer.release();
    }
    @Override
    public IBinder onBind(Intent objIndent) {
        return null;
    }
}

詳細については、こちらを参照してください

于 2014-12-10T03:15:38.527 に答える