音频完成后更改背景颜色

Changing the background color when audio is done

我是 java 的新手,我为此苦苦挣扎了很长时间。我正在制作音板,每当按下 cardview 时,我希望它播放声音并在音频持续时间内更改 cardview 的背景颜色。我怎样才能做到这一点?播放声音和改变颜色已经在工作,但我不知道如何设置持续时间或其他东西。谁能帮帮我?

final MediaPlayer bingoMediaPlayer = MediaPlayer.create(this, R.raw.bingo);

final CardView bingo = (CardView) this.findViewById(R.id.play_bingo);

bingo.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        bingoMediaPlayer.start();
        bingo.setCardBackgroundColor(Color.parseColor("#FF6F00"));
        Toast.makeText(MainActivity.this,"kekkkk", Toast.LENGTH_SHORT).show();

    }
});

音频完成后重置颜色。为此,您可以使用 OnCompletionListener。

  bingoMedia.setOnCompletionListener { 
      bingo.setCardBackgroundColor(Color.parseColor("your_default_color")) 
  }

您可以在此处找到原始文档:MediaPlayer.OnCompletionListener