Как я могу остановить музыку в одном упражнении и запустить другую музыку в следующем? - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть 3 действия, когда я перехожу с 1-го акта на 2-й акт. одна музыка начнется, и когда я перейду из 2-го акта. до 3-го акта, музыка 2-го упражнения должна прекратиться, и должна начаться музыка 3-го действия. Согласно моему кодированию, музыка 2-го действия останавливается, но музыка 3-го действия не запускается. мой код указан ниже: пожалуйста, помогите мне.

//1st activity code start
public class MainActivity extends AppCompatActivity {
    Button b;
    static MediaPlayer mp;


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

    @Override
    protected void onResume() {
        super.onResume();
        final MediaPlayer mp = MediaPlayer.create(this,R.raw.bakaratwozeroone);
        b = (Button) findViewById(R.id.butmove);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mp.start();
                startActivity(new Intent(MainActivity.this,Main2Activity.class));
            }
        });
    }
}
//1st activity code end

//2nd activity code start
public class Main2Activity extends AppCompatActivity {
    Button b;
    static MediaPlayer mp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

    }



    @Override
    protected void onResume() {
        super.onResume();
        final MediaPlayer mp = MediaPlayer.create(this, R.raw.mumfive);
        b = (Button) findViewById(R.id.butmove2);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mp.start();


                startActivity(new Intent(Main2Activity.this, Main3Activity.class));
            }
        });
    }
        @Override
        protected void onPause() {
            super.onPause();
            if(mp !=null);
            mp.release();
            mp = null;

    }
}
//2nd activity code end

1 Ответ

0 голосов
/ 26 апреля 2018

Нет необходимости хранить экземпляр MediaPlayer для каждого действия. Используйте BoundService для запуска медиаплеера и установления связи с Сервисом и действиями.

Для справки используйте эту ссылку

https://github.com/SimpleMobileTools/Simple-Music-Player

...