问题标签 [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.
android - Android SoundPool 有多糟糕?使用什么替代品?
我将 AndroidSoundPool
视为一种在我的通用游戏开发库中实现音效的机制。这似乎很理想。
但一 点点研究表明 , . 中的错误仍然相关吗? SoundPool
SoundPool
因为我正在开发一个库,所以任何错误都会SoundPool
成为我库中的错误,我想将我的用户与它隔离开来。
所以我的问题基本上是:我应该为音频使用什么 API?
使用AudioTrack
和编写我自己的混音器并非不可能。但显然最好避免这样做。是否有任何 API 可以为我提供解码?
我需要能够同时播放合理数量的音效(至少 16 个,比如说),并且有更多的开放性。声音需要以低延迟开始播放。WAV
需要支持文件(MP3/Ogg 不重要)。音效需要支持无缝循环和动态的、单独的音量调节。Android 应用程序生命周期需要得到适当的支持。
我听说某处有 1MB 的限制SoundPool
,这对于每个单独的声音效果可能是可以接受的,但对于所有缓冲区/声音来说并非如此。有人能告诉我确切的限制是多少吗?
最后,我还需要能够以低 CPU 负载播放压缩格式的背景音乐。我认为MediaPlayer
这是理想的选择。它可以与另一个 API 并行使用吗?
我知道有几个人一直MediaPlayer
在用SoundPool
. 但它是否支持我需要的功能?
还有其他我错过的音频 API 吗?
android - Android Soundpool.play() 在发布版本中不起作用
我正在尝试构建一个记录声音然后播放的应用程序。录音部分工作得很好,但是当我尝试重放声音时它什么也没做。当我在调试器中运行它并逐步执行播放音频的步骤时,它可以工作。当我删除所有断点并在调试中运行程序时,它没有。
该问题可能是由在后台完成的某些事情引起的,并且在我尝试运行音频之前未完成,但我并不完全确定。
任何帮助将不胜感激。
以下是源代码的相关部分。
创建音池
从音池播放
Audiorecorder.java 输出文件是 .mp4
android - Android soundPool 支持扩展?
我在方法中写了这段代码onCreate()
,但是什么都没播放!
问题 #1:我的代码有问题吗?我做错了吗?
如果不,
问题 #2:我的声音是.amr
文件。支持SoundPool
吗?支持的类型有哪些?
android - 在不同的 API 上进行 Android 测试,未找到类
我正在使用不同的 API 和屏幕分辨率测试我的应用,但在使用 Android 2.1 时遇到了问题。每当我运行应用程序时,主菜单都会与我为它创建的所有其他活动一起工作,除了一个:主游戏活动。我相信这是因为下面显示的第一个错误。我猜Android 2.1 不支持SoundPool 的OnLoadCompleteListener。我正在努力寻找替代方案,因此它适用于 2.2 及更高版本以及 2.1 及更低版本的 Android 版本。我很确定在 2.2 及更高版本中使用 SoundPool 时需要 OnLoadCompleteListener 方法。我记得没有它就不行。有人有建议吗?
谢谢
android - 使用 SoundPool 的 OGG Audio 中的 Android Static
我正在创建一个应用程序,我需要将 OGG 音频文件加载到 SoundPool 中,但它必须与 Android 2.1 兼容(不支持 onLoadingCompleteSetListener)。因此,无法判断声音文件在播放之前是否已加载。
为了绕过这个,我放了一个 Thread.sleep(1000); 加载音频文件后立即给它一些时间来加载。但是现在没有 onLoadingCompleteSetListener 方法,我的音频文件非常静态且不清楚。听起来很可怕。但我没有得到“样品#未准备好!” LogCat 中的警告,所以我认为 Thread.sleep(1000); 正在做它的工作。
但是 Thread.sleep(1000); 也停止加载过程?所以实际上我没有给它加载时间,这就是为什么它是静态的?我想不通,我只需要我的音频更清晰。任何建议都会有所帮助。
谢谢!
android - Android SoundPool.stop 似乎不起作用
我创建了一个 MySoundPool 类(我将这个类用作 sigelton,但不认为这是相关的,因为其他一切都有效)。我正在初始化 SoundPool,一个 HashMap,并获取 AudioManager 的上下文。此后,我正在加载两个声音。MySoundpool 由方法 MySoundPool.playSound(int index, float rate) playSound 剪辑速率为 0.5 <= rate >= 2.0 并执行语句
到现在为止还挺好。一切正常。不,在前一个声音仍在播放时调用 playSound ,我想在播放新声音之前停止它。在上面的代码片段之前我试过
和
没有成功。声音只是继续播放到最后。任何意见将不胜感激
android - 音频播放结束时会发出咔哒声。
我有几个问题,我真的可以在这两个问题上使用一些帮助。第一个是我试图在应用程序启动时播放音频文件,一旦发生抖动它就会停止。(它根本不应该在任何一个屏幕上播放它)。我遇到的另一个问题是当我摇晃手机时应该播放音频。它就是这样做的,但问题是在音频播放结束时它会发出流行的声音。那个噪音不在音频文件上,所以我不确定那个声音是从哪里来的。任何帮助,将不胜感激。提前致谢。
}
android - 在 Android 中将 MP3 加载到 Sound Pool 中
我想将几个 MP3 加载到声音池中,但我只会在 Activity 3 中使用这些 MP3,是否可以在 Activity 1 中加载 MP3?
或者这是否仅限于加载它使用它的 Activity?
我在文档中找不到答案。
inner-classes - Android 中有两个 onCreate() 方法?
我正在研究另一个示例(在此处找到Loading MP3s into the Sound Pool in Android)。但由于某种原因,我最终得到了两种onCreate()
方法,如果我删除一种方法,我就会出错。
我试图将 MP3 加载到 Soundpool 中一次,然后在其他活动中调用它们。
我的代码:
android - Android,在第一个活动上加载 mp3 并在更下方的活动上访问它
有没有办法在活动 1 中将 MP3 文件加载到声音池中,然后在活动 5 中进一步访问它?
我一直在尝试这个没有成功。
这当然是为了减少加载时间并在所有地方使用相同的文件,而不是一遍又一遍地加载它们
谢谢!瑞安