Android 游戏 - SoundPool 没有在 Motorola Droid X2 上播放声音
Posted
技术标签:
【中文标题】Android 游戏 - SoundPool 没有在 Motorola Droid X2 上播放声音【英文标题】:Android Game - SoundPool not playing sounds on Motorola Droid X2 【发布时间】:2013-01-12 22:11:14 【问题描述】:我正在开发一款播放音频的游戏。声音在我的三星设备和 HTC 设备上播放良好。但是,摩托罗拉 Droid X2 无法播放这些声音。
初始化我的 SoundPool:
static SoundPool sp;
sp = new SoundPool(8, AudioManager.STREAM_MUSIC, 0);
sp.load(context, resource_id, 1);
播放声音:
sp.play(resource_id, 1.0f, 1.0f, 0, 0, 1.0f);
我已尝试搜索摩托罗拉设备和 SoundPool 可能存在的任何错误,但没有找到任何有用的东西。感谢您提供任何和所有帮助。
我正在加载五个 MP3 文件,每个文件都不到 20kb。
我创建了一个框架项目,并在 MainActivity 中仅包含以下代码,结果相同。仅从 Resources 类加载一个 12kb 的 MP3 文件。
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SoundPool sp = new SoundPool(16, AudioManager.STREAM_MUSIC, 0);
int name = sp.load(this.getApplicationContext(), R.raw.brickhit,1);
try
Thread.sleep(10000);
Log.d("mark","sleeping....");
catch (InterruptedException e)
e.printStackTrace();
sp.play(name, 1.0f, 1.0f, 1, -1, 1.0f);
【问题讨论】:
这些音频文件有多大? SoundPool 适合收集一些小的特殊效果,但如果你开始用背景音乐或配音加载它,你很快就会耗尽内存。 【参考方案1】:我之前没有遇到过这个问题,但是流计数可能是这里描述的问题:android Soundpool problems
【讨论】:
【参考方案2】:经过一些实验,事实证明,摩托罗拉 Droid X2 不会通过 SoundPool 播放 MP3 文件,至少在按上述方式加载时不会。我切换到 .ogg 格式,声音按预期播放。
【讨论】:
以上是关于Android 游戏 - SoundPool 没有在 Motorola Droid X2 上播放声音的主要内容,如果未能解决你的问题,请参考以下文章
播放大量声音时,Android soundpool 意外关闭应用程序而没有消息
Android SoundPool.play() 有时会滞后
Android中的音频处理------SoundPool,MediaRecorder,MediaPlayer以及RingStone总结