设置声音停止,如果单击另一个单击按钮声音开始

时间:2018-04-23 15:31:03

标签: java android

首先,只是想让你知道我跟随这个网站很长一段时间,我总是喜欢在这里阅读,看看这里聪明聪明的人:)。

我的新应用项目出了问题(为我的孩子建造),我希望somone会帮助我。

在我的应用上,我有九个不同的按钮。 对于任何按钮我都有不同的声音。

如果你按下“鸟按钮”,那么你可以听到鸟鸣声, 如果按下“狗按钮”,你会听到狗的声音...... 我为所有九个按钮设置声音,当我按下其中一个按钮时,我可以听到我想要的声音。

但是(!),如果我按下其中一个按钮并且在我按下另一个按钮之后,我会一起听到声音(例如,如果我按下狗按钮,我按下猫按钮后一秒钟,我听到狗和猫的声音..)

如果你可以帮助我的话,那么你就可以设置它...如果我按下一个按钮我会听到按键声音。但是,如果我按下另一个按钮,前面的声音将停止(不是暂停 - 停止),我只能听到我按下的最后一个声音按钮。 公共类动物扩展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 );

        }


    } );


}

}

1 个答案:

答案 0 :(得分:0)

您可以制作类似stopSound()的功能,通过调用stop()来停止所有声音。

示例:wolfMP.stop()

在您想要开始下一个声音之前拨打stopSound()