【问题标题】:How to make audio play on first click?如何在第一次点击时播放音频?
【发布时间】:2015-09-26 15:23:07
【问题描述】:

我有两个问题。

  1. 第一次单击 ImageView 时,无法播放音频。只有当我第二次单击 ImageView 时才会播放音频。为了使音频在第一次单击时播放,我必须更改或添加什么到我的代码中?

  2. 当我在已经开始播放音频后再次单击 ImageView 时,如果我想再次播放它,我必须等待音频完成。即使音频正在播放,我必须在代码中添加什么才能在每次点击时重新启动音频?

代码:

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"
    />

【问题讨论】:

  • 您能否重新排列您的问题以使其更易于阅读?也许将问题和问题归为他们自己的观点?只是一个建议。
  • @d00dle 是的,谢谢。你有什么解决办法吗?

标签: java android xml audio mp3


【解决方案1】:

您在 xml 属性中设置了android:onClick,这将调用您的next 方法,并且您在next 中再次设置setOnClickListener,因此第一次单击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();
}

【讨论】:

  • 那么我该如何解决这个问题?
猜你喜欢
  • 2021-06-18
  • 1970-01-01
  • 1970-01-01
  • 2013-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多