Android 延迟后播放声音

2024-03-16

我必须在 GUI 事件上播放声音,例如单击按钮等。为此,我从 WebView 调用以下本机代码:

MediaPlayer _SoundPlayer = new MediaPlayer();
private void playSound(String sound)
{
    _SoundPlayer.reset();
    try
    {
        AssetFileDescriptor afd = getAssets().openFd("sound/" + sound + ".mp3");
        _SoundPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
        _SoundPlayer.prepare();
        _SoundPlayer.start();
    }
    catch (Exception e) { }
}

问题是事件和声音之间有大约 500 毫秒的延迟。我可以以某种方式优化播放声音吗?也许为每种声音创建专用的 MediaPlayer 实例?

Regards,


Use SoundPool http://developer.android.com/reference/android/media/SoundPool.html用于低延迟媒体播放,而不是MediaPlayer.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 延迟后播放声音 的相关文章

随机推荐

  • 如何显示rails本地项目文件夹中的图像?

    非常基本的问题 但不知何故我无法让它发挥作用 我试图让位于项目本地文件夹中的图像显示在 Rails 上 另外 我正在使用引导程序 因此我需要声明class img responsive 以及 这是原始代码 img class img res
  • 如何将 read_html 的输出保存和读取为 RDS 文件?

    对象可以像这样保存和读取 Save as file saveRDS iris mydata RDS Read back in readRDS mydata RDS 但这似乎不适用于用xml2 read html Example librar
  • 一个JVM下的多个进程

    我们可以在一个 JVM 中运行多个进程吗 每个进程都应该有自己的内存配额吗 我的目标是在新的 http 请求进入时启动新进程 并为该进程分配单独的内存 以便每个用户请求都有自己的内存配额 如果内存配额已满 则不会打扰其他用户请求 我怎样才能
  • android: Parse.com Parseobject classnotfound 错误

    我在 Android 应用程序中使用 Parse com 的库 但收到以下错误 05 26 18 43 31 838 E AndroidRuntime 4759 致命异常 主要 05 26 18 43 31 838 E AndroidRun
  • 反应多个过滤器下拉菜单

    我有 React 应用程序 您可以在其中根据几个不同的属性过滤列表 目前 我可以一次过滤每个类别 但我想一次过滤多个类别 因此当您选择更多过滤器时 列表会变得越来越小 然后 当您清除所有值时 它将返回到原始列表 我怎样才能实现这个目标 de
  • 解析/转换 cookie 为 JSON 格式

    我们有任何 javascript 库或正则表达式来解析 将 cookie 转换为 JSON 格式吗 有些cookie是这样的 cookie referer example com post id 22 bcomID 8075 subretu
  • 替换非渲染(非显示)元素文本中的 ↵ (\n)

    我正在编写一个解析器 从隐藏的 iframe 中获取数据 在文本中我需要替换 n 个字符 空间 我用它来完成这项任务 text replace n gi 但是 它仅适用于可见元素 即没有display none 如果该元素不可见 displ
  • PHP json_decode 返回 null

    我正在努力让它发挥作用 但看不出我哪里出了问题 有人可以帮忙吗 Hint 初始 JSON 存储在 json变量 不验证 Code FIXED
  • 使用 github 操作从 docker build 内的 git repo 安装 PIp

    我正在致力于将通用模块分离到我们 github 组织的专用存储库中 使用 git repo 中的 pip installDockerfile安装组织内部开发的共享模块 RUN pip3 install r requirements txt
  • 无法从 Twilio Studio 创建任务

    在 Twilio Studio 上 我可以收到短信 回复预设回复 但当我尝试在 Flex 中传递 创建任务时 出现错误 REST API 流触发器不支持 SendToFlexWidget 即使我使用的是收入消息触发器 即使使用默认消息流 我
  • 将光标从块或矩形更改为线? [复制]

    这个问题在这里已经有答案了 我的光标是一个闪烁的黑色矩形 我不知道怎么变成这样了 我想把它变回一条闪烁的垂直线 图片 您正处于替换模式 按Insert键盘上的 键切换回插入模式 许多处理文本的应用程序都有这个共同点
  • Android NDK 反编译本机代码的可能性

    是否可以通过 ndk 解码编译并喜欢到 android 的本机代码 是否可以从 apk 重建项目并将其导入 eclipse 或任何其他 IDE 是否可以使用 so如果 java 本机函数声明正确完成 则再次在 apk 文件中重新构建文件以重
  • 有没有办法将 sys.fn_varbintohexstr 结果转回 varbinary?

    有没有function in SQL Server要做到这一点 扭转sys fn varbintohexstr 您需要在动态 SQL 语句中使用十六进制字符串 以便将其解析为 varbinary 下面是如何做到这一点的一个示例 Our or
  • Shenandoah 垃圾收集器负载参考屏障

    对于目睹过发展的人来说这不是什么大秘密Shenandoah一个主要的批评是它采用了GC barriers for 每一个写入和读取 无论是引用还是原始 Shenandoah 2 0声称这不再是问题 可以通过所谓的解决方案负载参考屏障 这是怎
  • 类型错误:字符串索引必须是整数(Python)[重复]

    这个问题在这里已经有答案了 我正在尝试检索 id 值 ad284hdnn 我收到以下错误 TypeError string indices must be integers data response json print data for
  • 当您执行 CPU 不支持的指令时会发生什么?

    如果 CPU 尝试执行使用您的 CPU 不支持的某些指令编译的二进制文件 会发生什么情况 我特别想知道一些在旧处理器上运行的新 AVX 指令 我假设这可以进行测试 并且理论上可以向用户显示一条友好的消息 想必大多数低级库都会代表您检查这一点
  • 使用相同数据透视表的子类的 Hibernate 多对多

    具有此模型架构 Person Student SchoolBoy CollegeStudent 我正在使用 Hibernate 3 6 并且我使用tperson所有类的表 使用鉴别器列 我的映射是这样完成的
  • 如何在 OpenCV 中使用 cv::createButton 原型

    我想了解如何使用 OpenCV 文档中定义的 cv createButton http opencv jp opencv 2svn org cpp highgui qt new functions html cv createbutton
  • 如何让 jq 将参数视为数字而不是字符串?

    怎么做jq将输入参数视为数字而不是字符串 在下面的示例中 CURR INDEX是一个 Bash 变量 它具有我想要提取的数组索引值 jq arg ARG1 CURR INDEX ARG1 patchSets inputfile json 我
  • Android 延迟后播放声音

    我必须在 GUI 事件上播放声音 例如单击按钮等 为此 我从 WebView 调用以下本机代码 MediaPlayer SoundPlayer new MediaPlayer private void playSound String so