java - 如何在按下 ImageView 时立即启动音频?

标签 java xml audio imageview

我的代码仅在 ImageView 释放时播放音频。我应该添加什么才能使音频在按下时立即开始?

MediaPlayer mp = null;

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

XML 代码:

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

最佳答案

您应该使用如下所示的内容

ImageView seethrough= (ImageView)this.findViewById(R.id.Seethrough);
seethrough.setOnTouchListener(new OnTouchListener()
    {
        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
            if (event.getAction() == MotionEvent.ACTION_DOWN)
                // this is where you should call next()
            else if (event.getAction() == MotionEvent.ACTION_UP)
                  // this is if you are interested in the release action 
            return false;
        }
    });

关于java - 如何在按下 ImageView 时立即启动音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32830128/

相关文章:

java - AspectJ - 指定方法的切入点,其参数用类级别注释进行注释

java - Jersey 2 多部分/表单数据问题。输入流为空(可用=0)

java - 如何在Java中检测按键

java - Androidx的PreferenceScreen使用方法

xml - 用于跨多个子节点检查属性值的 XPath 表达式

java - DeepEquals.deepEquals(refObject, ref)

html - 仅选择 xpath 列表中的元素

java - Java 中的音频播放无法正常工作

android - 使用 RandomAccessFile 添加音频

api - 非语音噪音或声音识别软件?