使用Eclipse,声音不能在模拟器上完全播放?声音字节太长



我目前正在尝试为我的Android制作一个Soundboard应用程序。

使用Eclipse,我成功地制作了按钮并对它们进行了编码,这样当按下按钮时,它们就会在res/raw文件夹中播放.ogg声音。一切都好。

现在,我发现任何超过6秒长的文件都无法完全播放。

有什么方法可以纠正这个问题吗?我通常只会修剪文件,但有些文件需要更长一点,但没有一个超过50秒。

非常感谢!

发生的情况是在文件完全加载之前调用mediaPlayer.start()指令。假设您使用的是mediaPlayer.create(this,resid)和.start(),有一些东西可以帮助您。"正确"的方法是将.start()指令放在onPreparedListener中,因为.create第一次调用了.onPrepared,但老实说,当我把它放在我的声卡中时,我收到了大量的崩溃报告,所以我在.create.之后又恢复使用.start

我发现,如果声音文件的比特率很高,或者应用程序安装在速度较慢的SD卡上,就会出现这个问题。我使用mp3,但通常将比特率限制在96k,并在应用程序描述中说明,如果剪辑没有完全播放,则将应用程序移回内存,投诉似乎已经停止。

最新更新