Android SoundPool 剪切声音文件短
Posted
技术标签:
【中文标题】Android SoundPool 剪切声音文件短【英文标题】:Android SoundPool cutting sound file short 【发布时间】:2010-11-29 15:18:35 【问题描述】:我是 android 新手,所以要温柔!
我有以下代码,应该(我认为)只播放“developersshort”。
public constructor(Context context)
this.context = context;
soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC,0);
soundPoolMap = new HashMap<Integer, Integer>();
soundPoolMap.put(1, soundPool.load(this.context,
R.raw.developersshort, 1));
public void run()
soundPool.play(soundPoolMap.get(1), 1, 1, 1, 0, 1f);
[为了弄清楚发生了什么,它目前播放史蒂夫鲍尔默反复喊“开发者”的混音!声音文件的大小约为 90KB。]
当我在模拟器中运行我的应用程序并按下按钮触发声音时,它会说“开发人员开发人员开发人员......”等等,正如我所期望的那样。
但是,当我将它部署到我的手机时,我只听到类似“velop”的声音,然后声音就停止了。
我不知道发生了什么,有什么想法吗?
非常感谢!
【问题讨论】:
【参考方案1】:您的音频文件是 .ogg 文件吗?其他格式似乎与 SoundPool 有问题。如果这不起作用,您可能需要使用较小的音频文件对其进行测试。当我的音频文件超过 60kb 时,我遇到了一些故障。
【讨论】:
【参考方案2】:你有没有尝试重新采样声音文件???
在那之前我的声音文件被删掉了。但是我已经将 m4a 从 44KHz 转换并重新采样到 22KHz,现在它可以正常工作而不会被削减。参考这个:and again about memory issues with SoundPool
所以尝试相同。
希望它对你有用。
【讨论】:
【参考方案3】:60kb 的存储空间,或 2mb 的堆空间,解码后,纯波可能是极限,是的。 确保你使用的时间不超过一秒或类似的时间。
soundpool 确实需要小文件。阅读 SDK 页面。
【讨论】:
以上是关于Android SoundPool 剪切声音文件短的主要内容,如果未能解决你的问题,请参考以下文章