сделать запуск, остановку и перезапуск кнопки Image

Хотя я думаю, что до сих пор не существует доступного правила для выполнения такой вещи, здесь доступна выборочная облачная функция, которая делает это:

https://github.com/firebase/functions -samples / дерево / мастер / лимитных детей

0
задан Vrushi Patel 5 March 2019 в 14:00
поделиться

3 ответа

Вам здесь не нужен цикл, что вы можете сделать, взяв boolean установить значение true, если музыка играет, и false, если остановить просто, верно?

0
ответ дан Vrushi Patel 5 March 2019 в 14:00
поделиться

Вы можете просто сделать это:

// Delcare a boolean as an attribute to be accessible inside the listener
private boolean isPlaying = false;

// Inside onCreate(), set a listener on your Button myButton
Mediaplayer mp = MediaPlayer.create(this, R.raw.yourfile);
myButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
      if (!isPlaying) {
         // Not playing music
         // START RANDOM MUSIC with mp.start()
         mp.start()
         isPlaying = true;
      }
      else {
         // Playing music
         // STOP CURRENT PLAYED MUSIC with mp.stop()
         mp.stop()
         isPlaying = false;
      }      
    }
  }); 

РЕДАКТИРОВАТЬ : класс MediaPlayer имеет метод для этого!

// Inside onCreate(), set a listener on your Button myButton
Mediaplayer mp = MediaPlayer.create(this, R.raw.yourfile);
myButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
      if (!mp.isPlaying()) {
         // Not playing music
         // START RANDOM MUSIC with mp.start()
         mp.start()
      }
      else {
         // Playing music
         // STOP CURRENT PLAYED MUSIC with mp.stop()
         mp.stop()
      }      
    }
  }); 

Лучший

0
ответ дан Maxouille 5 March 2019 в 14:00
поделиться

В вашем случае нет необходимости добавлять какие-либо дополнительные переменные, измените код на.

public class MainActivity extends Activity {

    private final int[] SOUNDS = {R.raw.blizzardlowquaility, R.raw.onebite_dansgaming, R.raw.nagur_dansgaming};
    private final int LOW = 0;
    private final int HIGH = 3;

    private MediaPlayer mMediaPlayer;

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

        ImageButton Testy = findViewById(R.id.imageButton);
        Testy.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mMediaPlayer == null) {
                    int random = (new Random()).nextInt(HIGH - LOW) + LOW;
                    mMediaPlayer = MediaPlayer.create(getApplicationContext(), SOUNDS[random]);
                    mMediaPlayer.start();
                } else {
                    mMediaPlayer.stop();
                    mMediaPlayer.release();
                    mMediaPlayer = null;
                }
            }
        });
    }
}
0
ответ дан Nhất Giang 5 March 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: