繁体   English   中英

按钮onClickListener在Android中无法播放声音

[英]button onClickListener not working in Android to play a sound

我试图设置我的按钮以在单击时播放歌曲,但没有任何反应,没有错误,也没有强制退出。 当我单击渲染中的按钮时,它只是按下。

public class Shows extends AppCompatActivity {
    RadioButton radRent1, radRent2, radWicked, radHamilton, radPhantom;
    Button btnRent, btnWicked, btnHamilton, btnPhantom;
    MediaPlayer mpRent1,mpRent2, mpWicked, mpHamilton, mpPhantom;
    int playing;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_shows);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(Shows.this, ItemListActivity.class));
            }
        });
        playing = 0;
        mpRent1 = new MediaPlayer();
        mpRent1 = MediaPlayer.create(this, R.raw.seasons_of_love);
        mpRent2 = new MediaPlayer();
        mpRent2 = MediaPlayer.create(this, R.raw.seasons_of_love);
        btnRent = (Button)findViewById(R.id.btnRent);
        btnRent.setOnClickListener(bRent);
    }
    Button.OnClickListener bRent = new Button.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch(playing){
                case 0:
                    mpRent1.start();
                    playing = 1;
                    btnRent.setText("Pause Selected Song");
                    break;
                case 1:
                    mpRent1.pause();
                    playing = 0;
                    btnRent.setText("Play Selected Song");
                    break;
            }
        }
    };

}

谁能看到错误在哪里?

您需要打开视图的ID

或在bRent上使用set onClickListener

`

 bRent.setOnClickListener(new View.OnClickListener() {                                                                
 @Override
 public void onClick(View view){                                              
 //put your logic here                                                       
 }`

以这种方式设定行动

 playbutton.setOnClickListener(this);
 pausebutton.setOnClickListener(this);

然后实施

  implements View.OnClickListener

比覆盖

  @Override
public void onClick(View view) {
    switch(view.getId()) {
        case R.id.play:
            //Play voicefile

            break;
        case R.id.pause:
            //Stop MediaPlayer

            break;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM