1

アプリの再生ボタンと一時停止ボタンに問題があります。「再生」をクリックすると音楽が再生され、一時停止ボタンが表示され、もう一度ボタンをクリックすると音楽が一時停止され、再生ボタンが再び表示されるようにしようとしています。私はとても近くにいるように感じますが、それを得ることができません! オーディオを再生し、ボタンで画像を一度変更することはできますが、一時停止して画像を元に戻すことはできません。助けてください!私のコードは以下の通りです:

button3.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        // TODO Auto-generated method stub
        if(mysong.isPlaying()){
            mysong.pause();
            button3.setVisibility(ImageButton.VISIBLE);
            pausebutton3.setVisibility(ImageButton.GONE);


        }else {
            mysong.start();
                            button3.setVisibility(ImageButton.GONE)
                            pausebutton3.setVisibility(ImageButton.VISIBLE)

                 }
    }
});

今そのように設定すると、音楽が再生され、再生ボタンが一時停止ボタンと交換されますが(そうあるべきです)、音楽を一時停止して画像を元に戻すことができません。

4

2 に答える 2

3

あなたが「元に戻さない」理由は、「else」ステートメントにUIの変更を行うように指示するものが何もないためです。

再生中にボタンが押されると、button3 が VISIBLE になり、mysong は GONE になり、isPlaying() は false になります。しかし、ボタンがもう一度押されると、isPlaying() が false であるため、else に直接進み、mysong.start(); を呼び出します。- mysong または button3 の可視性を元に戻すように指示するものは何もありません。

または、(ボタンを非表示にして表示するのではなく) イメージを変更するだけの場合は、ImageButton と setImageResource() を使用してみてください。

    mPauseButton.setOnClickListener(new View.OnClickListener() { 

        public void onClick(View v) { 
            if (mysong.isPlaying()) {
                mysong.pause();
                button3.setImageResource(R.drawable.btn_play);  //Your playbutton image
            } else {
                mysong.start();
                button3.setImageResource(R.drawable.btn_pause);  //Your pausebutton image
            }
            .
            .
            .

私が気付いたもう1つのことは、mySongとbutton3の可視性を設定しようとしていることです(mysongはmediaPlayerのようです-「可視性」がなく、ImageButtonではありません)。

于 2012-09-25T06:30:02.277 に答える
1

私が理解していれば、再生/一時停止を切り替えるボタンが 1 つあります。

button3.setOnClickListener(new View.OnClickListener() { 

public void onClick(View v) { 
        if(mysong.isPlaying()){ 
        mysong.pause(); 
        button3.setVisibility(ImageButton.VISIBLE);
        button3.setText("Pause");
        mysong.setVisibility(ImageButton.GONE); 
    } else { 
        mysong.start();
        button3.setText("Play");
    } 
} 

});

于 2012-09-25T06:17:03.107 に答える