问题标签 [soundpool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
23505 浏览

android - Android SoundPool 有多糟糕?使用什么替代品?

我将 AndroidSoundPool视为一种在我的通用游戏开发库中实现音效的机制。这似乎很理想。

点点研究表明 . 中的错误仍然相关吗? SoundPoolSoundPool

因为我正在开发一个库,所以任何错误都会SoundPool成为我库中的错误,我想将我的用户与它隔离开来。

所以我的问题基本上是:我应该为音频使用什么 API?

使用AudioTrack和编写我自己的混音器并非不可能。但显然最好避免这样做。是否有任何 API 可以为我提供解码?

我需要能够同时播放合理数量的音效(至少 16 个,比如说),并且有更多的开放性。声音需要以低延迟开始播放。WAV需要支持文件(MP3/Ogg 不重要)。音效需要支持无缝循环和动态的、单独的音量调节。Android 应用程序生命周期需要得到适当的支持。

我听说某处有 1MB 的限制SoundPool,这对于每个单独的声音效果可能是可以接受的,但对于所有缓冲区/声音来说并非如此。有人能告诉我确切的限制是多少吗?

最后,我还需要能够以低 CPU 负载播放压缩格式的背景音乐。我认为MediaPlayer这是理想的选择。它可以与另一个 API 并行使用吗?

我知道有几个人一直MediaPlayer在用SoundPool. 但它是否支持我需要的功能?

还有其他我错过的音频 API 吗?

0 投票
3 回答
2467 浏览

android - Android Soundpool.play() 在发布版本中不起作用

我正在尝试构建一个记录声音然后播放的应用程序。录音部分工作得很好,但是当我尝试重放声音时它什么也没做。当我在调试器中运行它并逐步执行播放音频的步骤时,它可以工作。当我删除所有断点并在调试中运行程序时,它没有。

该问题可能是由在后台完成的某些事情引起的,并且在我尝试运行音频之前未完成,但我并不完全确定。

任何帮助将不胜感激。

以下是源代码的相关部分。

创建音池

从音池播放

Audiorecorder.java 输出文件是 .mp4

0 投票
2 回答
4431 浏览

android - Android soundPool 支持扩展?

我在方法中写了这段代码onCreate(),但是什么都没播放!

问题 #1:我的代码有问题吗?我做错了吗?

如果不,

问题 #2:我的声音是.amr文件。支持SoundPool吗?支持的类型有哪些?

0 投票
1 回答
518 浏览

android - 在不同的 API 上进行 Android 测试,未找到类

我正在使用不同的 API 和屏幕分辨率测试我的应用,但在使用 Android 2.1 时遇到了问题。每当我运行应用程序时,主菜单都会与我为它创建的所有其他活动一起工作,除了一个:主游戏活动。我相信这是因为下面显示的第一个错误。我猜Android 2.1 不支持SoundPool 的OnLoadCompleteListener。我正在努力寻找替代方案,因此它适用于 2.2 及更高版本以及 2.1 及更低版本的 Android 版本。我很确定在 2.2 及更高版本中使用 SoundPool 时需要 OnLoadCompleteListener 方法。我记得没有它就不行。有人有建议吗?

谢谢

0 投票
1 回答
1440 浏览

android - 使用 SoundPool 的 OGG Audio 中的 Android Static

我正在创建一个应用程序,我需要将 OGG 音频文件加载到 SoundPool 中,但它必须与 Android 2.1 兼容(不支持 onLoadingCompleteSetListener)。因此,无法判断声音文件在播放之前是否已加载。

为了绕过这个,我放了一个 Thread.sleep(1000); 加载音频文件后立即给它一些时间来加载。但是现在没有 onLoadingCompleteSetListener 方法,我的音频文件非常静态且不清楚。听起来很可怕。但我没有得到“样品#未准备好!” LogCat 中的警告,所以我认为 Thread.sleep(1000); 正在做它的工作。

但是 Thread.sleep(1000); 也停止加载过程?所以实际上我没有给它加载时间,这就是为什么它是静态的?我想不通,我只需要我的音频更清晰。任何建议都会有所帮助。

谢谢!

0 投票
3 回答
5758 浏览

android - Android SoundPool.stop 似乎不起作用

我创建了一个 MySoundPool 类(我将这个类用作 sigelton,但不认为这是相关的,因为其他一切都有效)。我正在初始化 SoundPool,一个 HashMap,并获取 AudioManager 的上下文。此后,我正在加载两个声音。MySoundpool 由方法 MySoundPool.playSound(int index, float rate) playSound 剪辑速率为 0.5 <= rate >= 2.0 并执行语句

到现在为止还挺好。一切正常。不,在前一个声音仍在播放时调用 playSound ,我想在播放新声音之前停止它。在上面的代码片段之前我试过

没有成功。声音只是继续播放到最后。任何意见将不胜感激

0 投票
3 回答
1670 浏览

android - 音频播放结束时会发出咔哒声。

我有几个问题,我真的可以在这两个问题上使用一些帮助。第一个是我试图在应用程序启动时播放音频文件,一旦发生抖动它就会停止。(它根本不应该在任何一个屏幕上播放它)。我遇到的另一个问题是当我摇晃手机时应该播放音频。它就是这样做的,但问题是在音频播放结束时它会发出流行的声音。那个噪音不在音频文件上,所以我不确定那个声音是从哪里来的。任何帮助,将不胜感激。提前致谢。

}

0 投票
1 回答
791 浏览

android - 在 Android 中将 MP3 加载到 Sound Pool 中

我想将几个 MP3 加载到声音池中,但我只会在 Activity 3 中使用这些 MP3,是否可以在 Activity 1 中加载 MP3?

或者这是否仅限于加载它使用它的 Activity?

我在文档中找不到答案。

0 投票
2 回答
2648 浏览

inner-classes - Android 中有两个 onCreate() 方法?

我正在研究另一个示例(在此处找到Loading MP3s into the Sound Pool in Android)。但由于某种原因,我最终得到了两种onCreate()方法,如果我删除一种方法,我就会出错。

我试图将 MP3 加载到 Soundpool 中一次,然后在其他活动中调用它们。

我的代码:

0 投票
1 回答
228 浏览

android - Android,在第一个活动上加载 mp3 并在更下方的活动上访问它

有没有办法在活动 1 中将 MP3 文件加载到声音池中,然后在活动 5 中进一步访问它?

我一直在尝试这个没有成功。

这当然是为了减少加载时间并在所有地方使用相同的文件,而不是一遍又一遍地加载它们

谢谢!瑞安