Установить остановку звука, если щелкнуть другую кнопку, звук начнется

Во-первых, просто хочу, чтобы вы знали, что я давно слежу за этим сайтом, и мне всегда нравится читать здесь и видеть здесь блестящих умных людей :).

У меня возникла проблема с моим новым проектом приложения (создайте его для моих детей), и я надеюсь, что кто-то поможет мне с этим.

в моем приложении было девять различных кнопок. для любой кнопки у меня был разный звук.

если вы нажмете "птичью кнопку", то вы услышите щебетание птичьего голоса, если вы нажмете "собачью кнопку", вы услышите собачий голос ... Я установил звук для всех девяти кнопок, и когда я нажимаю одну из них, я могу слышать звук так, как я хочу.

но (!), если я нажимаю одну из кнопок и сразу после этого нажимаю на другую кнопку, я слышу голос вместе (например, если я нажимаю кнопку собаки и через одну секунду после того, как я нажимаю кнопку кошки, я слышу собаку и кот вместе голосят ..)

jost wondring, если вы можете мне помочь, установите его ... если я нажму одну кнопку, я услышу голос кнопки. но если я нажму другую кнопку, предыдущий звук прекратится (не пауза-стоп), и я услышу только последнюю нажатую кнопку голоса. public class animals расширяет AppCompatActivity {

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

    final MediaPlayer birdMP = MediaPlayer.create(this,R.raw.bird);
    final MediaPlayer catMP = MediaPlayer.create(this,R.raw.cat);
    final MediaPlayer chickenMP = MediaPlayer.create(this,R.raw.chicken);
    final MediaPlayer cowMP = MediaPlayer.create(this,R.raw.cow);
    final MediaPlayer dogMP = MediaPlayer.create(this,R.raw.dog);
    final MediaPlayer elephentMP = MediaPlayer.create(this,R.raw.elephent);
    final MediaPlayer horseMP = MediaPlayer.create(this,R.raw.horse);
    final MediaPlayer sheepMP = MediaPlayer.create(this,R.raw.sheep);
    final MediaPlayer wolfMP = MediaPlayer.create(this,R.raw.wolf);



    final Button Btnbird = (Button)this.findViewById( R.id.Btnbird );
    final Button Btncat = (Button)this.findViewById( R.id.Btncat );
    final Button Btnchicken = (Button)this.findViewById( R.id.Btnchicken );
    final Button Btncow = (Button)this.findViewById( R.id.Btncow );
    final Button Btndog = (Button)this.findViewById( R.id.Btndog );
    final Button Btnhelf = (Button)this.findViewById( R.id.Btnhelf );
    final Button Btnhurse = (Button)this.findViewById( R.id.Btnhurse );
    final Button Btnsheep = (Button)this.findViewById( R.id.Btnsheep );
    final Button Btnwolf = (Button)this.findViewById( R.id.Btnwolf );


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

            catMP.stop();
            chickenMP.stop();
            cowMP.stop();
            dogMP.stop();
            elephentMP.stop();
            horseMP.stop();
            sheepMP.stop();
            wolfMP.stop();
            birdMP.start();


        }

    } );

    Btncat.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            birdMP.stop();
            chickenMP.stop();
            cowMP.stop();
            dogMP.stop();
            elephentMP.stop();
            horseMP.stop();
            sheepMP.stop();
            wolfMP.stop();
            catMP.start();



        }
    } );

    Btnchicken.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            catMP.stop();
            birdMP.stop();
            cowMP.stop();
            dogMP.stop();
            elephentMP.stop();
            horseMP.stop();
            sheepMP.stop();
            wolfMP.stop();
            chickenMP.start();

        }
    } );
    Btncow.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            catMP.stop();
            chickenMP.stop();
            birdMP.stop();
            dogMP.stop();
            elephentMP.stop();
            horseMP.stop();
            sheepMP.stop();
            wolfMP.stop();
            cowMP.start();

        }
    } );
    Btndog.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            catMP.stop();
            chickenMP.stop();
            birdMP.stop();
            cowMP.stop();
            elephentMP.stop();
            horseMP.stop();
            sheepMP.stop();
            wolfMP.stop();
            dogMP.start();

        }
    } );
    Btnhelf.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            catMP.stop();
            chickenMP.stop();
            birdMP.stop();
            dogMP.stop();
            cowMP.stop();
            horseMP.stop();
            sheepMP.stop();
            wolfMP.stop();
            elephentMP.start();

        }
    } );
    Btnhurse.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            catMP.stop();
            chickenMP.stop();
            birdMP.stop();
            dogMP.stop();
            elephentMP.stop();
            cowMP.stop();
            sheepMP.stop();
            wolfMP.stop();
            horseMP.start();

        }
    } );
    Btnsheep.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            catMP.stop();
            chickenMP.stop();
            birdMP.stop();
            dogMP.stop();
            elephentMP.stop();
            horseMP.stop();
            cowMP.stop();
            wolfMP.stop();
            sheepMP.start();

        }
    } );
    Btnwolf.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            catMP.stop();
            chickenMP.stop();
            birdMP.stop();
            dogMP.stop();
            elephentMP.stop();
            horseMP.stop();
            sheepMP.stop();
            cowMP.stop();
            wolfMP.start();

        }
    } );


    findViewById( R.id.back ).setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent(animals.this,MainActivity.class  );
            startActivity( intent );

        }


    } );


}

}

Я думаю, вы могли бы попробовать сделать массив из ваших кнопок. Таким образом, вы можете перебрать все кнопки, чтобы остановить их. Я не уверен, может ли это сработать ... в любом случае, меня интересует решение такой проблемы!

Lutzi 23.04.2018 17:33
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
81
1

Ответы 1

Вы можете сделать такую ​​функцию, как stopSound(), которая останавливает весь звук, вызывая stop().

Пример: wolfMP.stop()

Позвоните в stopSound(), прежде чем захотите включить следующий звук.

К сожалению, безуспешно.

Kobe Yakov 24.04.2018 11:45

Другие вопросы по теме