2013-07-24 14 views
7

Androidでは、私はServiceMediaPlayerを使って音楽を再生します。ホームボタンを押すと音楽が再生され続けますが、アプリをスワイプすると停止します。ユーザーがアプリをスワイプした後、バックグラウンドで音楽を再生する方法を教えてください。

アプリをスワイプした後も音楽の再生を続けることができますか?

+1

http://marakana.com/forums/android/examples/60.html。これを試して。 – Raghunandan

+0

サービスには別のプロセスがありますか? – sandrstar

+1

はいバインドされたサービスを使用し、スティッキー通知でフォアグラウンドを作成します –

答えて

0

Android media player codeは、MediaPlayerオブジェクトを含むserviceを使用します。これにより、アクティビティがフォアグラウンドにない場合でも再生を続けることができます。あなたはService.START_STICKYを使用する必要が

0

public int onStartCommand(Intent intent, int flags, int startId) { 
    mediaPlayer.start(); 
    return Service.START_STICKY; 
} 

Service.START_STICKY:それは ている間、このサービスのプロセスが殺されている場合は、システムが再作成サービスしようとし始めました。

Here's完全な例: https://github.com/Jorgesys/Android-Music-in-Background

public class BackgroundSoundService extends Service { 

    private static final String TAG = "BackgroundSoundService"; 
    MediaPlayer player; 

    public IBinder onBind(Intent arg0) { 
     Log.i(TAG, "onBind()"); 
     return null; 
    } 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     player = MediaPlayer.create(this, R.raw.jorgesys_song); 
     player.setLooping(true); 
     player.setVolume(100, 100); 
     Toast.makeText(this, "Service started...", Toast.LENGTH_SHORT).show(); 
     Log.i(TAG, "onCreate() , service started..."); 

    } 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     player.start(); 
     return Service.START_STICKY; 
    } 

    public IBinder onUnBind(Intent arg0) { 
     Log.i(TAG, "onUnBind()"); 
     return null; 
    } 

    public void onStop() { 
     Log.i(TAG, "onStop()"); 
    } 
    public void onPause() { 
     Log.i(TAG, "onPause()"); 
    } 
    @Override 
    public void onDestroy() { 
     player.stop(); 
     player.release(); 
     Toast.makeText(this, "Service stopped...", Toast.LENGTH_SHORT).show(); 
     Log.i(TAG, "onCreate() , service stopped..."); 
    } 

    @Override 
    public void onLowMemory() { 
     Log.i(TAG, "onLowMemory()"); 
    } 
} 
関連する問題