android - 如何使ImageButton每次单击时重复播放声音

标签 android audio imagebutton playback

我试图让图像按钮在每次单击时播放声音。例如,如果声音播放了几秒钟,而我再次按下该按钮,则应该从头开始。我设法使声音正常工作,但并没有重复。我怎样才能重新开始?

ImageButton bt;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    bt = (ImageButton) findViewById(R.id.clickme);
    final MediaPlayer mp = MediaPlayer.create(this, R.raw.bird);
    bt.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mp.start();
        }
    });
}

最佳答案

试试这个:

@Override
public void onClick(View v) {
    try {
        if (mp.isPlaying()) {
            mp.stop();
            mp.release();
            mp = MediaPlayer.create(context, R.raw.bird);
        }
        mp.start();
    } catch(Exception e) { 
        e.printStackTrace(); 
    }
}

关于android - 如何使ImageButton每次单击时重复播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42741916/

相关文章:

html - 如何在点击时更改图像并在点击时再次返回

Android Studio API 29 及更高版本的模拟器立即崩溃

android - 联系人选择器,获取电话号码

matlab - 在matlab中的wave文件末尾添加声音

objective-c - PlayAtTime问题播放多个音频文件

android - 带 ScaleType 的 ImageButton Android

javascript - 返回 true 时调用另一个 Javascript 函数

java - 获取 'Mobile network' 的状态,wifi 断开后自动连接 3g 的状态

Android adb 停止工作

android - 将音频文件重叠到一个