2017-04-20 2 views
0

私は、ユーザーがボタンをクリックして特定のトラックを聴くことができるアプリケーションを持っています(アルバム全体の長いトラックの1つで、再生と一時停止が可能です)。メディアプレーヤーの再生を停止するにはどうすればよいですか?

問題は、音楽の再生を開始し、2番目のアクティビティに移動してホームページに戻ると、音楽を再生するオプションが選択されていることです。演奏を押すと、既に演奏中のトラックの上にトラックが再び開始されます。

明確にするために、すべてのアクティビティで音楽を再生したいと思っていますが、ホームページに戻ると、メディアプレーヤーはまだトラックを再生していることを認識してユーザーに一時停止/彼らは望む。ここで

は、最初の活動のためのコードである、第二の活動は、「舞台裏」である:

package alexgreene.byprocessofimagination; 

import android.app.Activity; 
import android.app.AlarmManager; 
import android.app.Dialog; 
import android.app.PendingIntent; 
import android.content.Context; 
import android.content.Intent; 
import android.media.MediaPlayer; 
import android.os.Build; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.Window; 
import android.widget.ImageButton; 
import android.widget.ImageView; 

import java.io.IOException; 

import static alexgreene.byprocessofimagination.R.layout.activity_main; 

public class MainActivity extends Activity { 

    MediaPlayer mp; 
    ImageButton play, bts, readMore; 
    int startTime = 4250; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(activity_main); 

     play = (ImageButton) findViewById(R.id.bPlay); 
     readMore = (ImageButton) findViewById(R.id.ibReadMore); 
     bts = (ImageButton) findViewById(R.id.ibBackgroundFalling); 

     mp = MediaPlayer.create(MainActivity.this, R.raw.eusa); 
     mp.seekTo(startTime); 

     bts.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 


       Intent i = new Intent(MainActivity.this,  BehindTheScenes.class); 
       startActivity(i); 

      } 
     }); 

     play.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       if (mp.isPlaying()) { 
        mp.pause(); 
        play.setBackgroundResource(R.drawable.play_headphones); 
       } else { 
        play.setBackgroundResource(R.drawable.pause_headphones); 
        mp.start(); 
       } 
      } 
     }); 

     readMore.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Dialog settingsDialog = new Dialog(MainActivity.this); 
        settingsDialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); 
        settingsDialog.setContentView(getLayoutInflater().inflate(R.layout.popup,  null)); 
       settingsDialog.show(); 

      } 

     }); 

    } 
} 

答えて

関連する問題