如何在第一次点击播放音频?

时间:2015-09-26 15:23:08

标签: java android xml audio mp3

我有两个问题。

  1. 我第一次点击ImageView时,音频没有播放。只有当我第二次单击ImageView播放音频时。我必须更改或添加到我的代码才能在第一次点击时播放音频?

  2. 当我在启动音频后再次单击ImageView时,如果我想再次播放,我必须等待音频完成。即使音频正在播放,我还需要添加到我的代码中以便每次点击都重新启动音频?

  3. 代码:

    public void next (View view){
    
        ImageView one = (ImageView)this.findViewById(R.id.Seethrough);
        final MediaPlayer mp = MediaPlayer.create(this, R.raw.dry);
        one.setOnClickListener(new View.OnClickListener(){
    
            public void onClick(View v) {
                mp.start();
            }
        });
    }
    
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/seethrough"
        android:clickable="true"
        android:id="@+id/Seethrough"
        android:onClick="next"
        />
    

1 个答案:

答案 0 :(得分:0)

您在xml属性中设置了android:onClick,这将调用您的next方法,并在setOnClickListener中再次设置next,因此您第一次点击imageView ,mp.start()将不会被调用。

MediaPlayer mp = null;

public void next (View view) {
    if (mp != null) {
        mp.stop();
        mp.release();
    }
    mp = MediaPlayer.create(this, R.raw.dry);
    mp.start();
}