java - android播放声音效果。

标签 java android audio

我无法在android中播放声音。

我的第一次尝试全部在我的onButtonClick函数中,该函数在大约20次单击中确实表现良好。然后声音停止了。而且我相信它使用了整个android声音池,因为我所有其他应用程序都停止发出声音了。

public void onButtonClick(View view)
{

MediaPlayer clickSound = MediaPlayer.create(this, R.raw.click);
clickSound.start();

//... other onButtonCode

}

从那以后,我对此进行了一些更改,现在这是一个全局变量
MediaPlayer clickSound;

它在我的onCreate()方法中实例化。现在,onbuttonClick具有clickSound.start()
但这不符合我的预期。声音似乎是随机的。有时点击就会出现。有时会没有声音。有时声音会出现一点点 Blob ,并在声音完成之前结束。从好的方面来说,它似乎并没有完全填满声音池,因此我在测试时可以不断听到“一些”声音。

我缺少使声音正常运行的什么功能?
我尝试添加clickButton.stop(),但是这使我的声音完全无法运行,可能是因为它在引人注意之前就停止了。

最佳答案

使用后应释放资源。

clickSound.release();
clickSound = null;

我建议如下:

在onResume中初始化播放器:
clickSound = MediaPlayer.create(this, R.raw.click);

在onPause中释放资源:
clickSound.release();
clickSound = null;

使用按钮播放声音:
clickSound.start();

关于java - android播放声音效果。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26977037/

相关文章:

android - 在 OS X Mavericks 上加载 Genymotion 设备时出错

android - 我们如何更改 ActionBarDrawerToggle 图标?

java - 如何在Java中的两个混合器之间创建 "connection"?

java - 创建登录表单并将密码从隐藏更改为可见

java - 服务器 415 响应代码

java - 使用SDK进行服务开发时无法从S/4系统中检索数据

java - Android apache Poi ArrayAdapter

iphone - 如何在右耳机上播放音频,在左耳机上播放音乐?

java - 使用 xuggler 解码音频/视频时出现断断续续的音频

java - 在 Java 中将文件读入 byte[] 数组的优雅方法