我目前正在尝试为我的Android制作Soundboard应用程序。
使用Eclipse,我已成功制作按钮并对其进行编码,以便按下时,它们会在res / raw文件夹中播放.ogg声音。一切都还好。
现在,我发现任何超过6秒钟的文件都没有完全播放。
有没有办法纠正这个问题?我通常会修剪文件,但其中一些需要更长一点,但没有超过50秒。
非常感谢!
答案 0 :(得分:1)
正在发生的事情是在文件完全加载之前调用mediaPlayer.start()指令。假设您正在使用mediaPlayer.create(this,resid),后跟.start(),有一些可以帮助的事情。 “正确”的方法是将.start()指令放在onPreparedListener中,因为.create第一次调用.onPrepared,但说实话,当我把它放在我的音板中时,我得到了大量的崩溃报告,所以我还原了在.create之后使用.start。
我发现如果声音文件的比特率很高,或者应用程序安装在慢速SD卡上,通常会出现问题。我使用mp3,但通常将比特率限制为96k,并在应用程序说明中输入如果剪辑没有完全播放将应用程序移回内部存储器并且投诉似乎已经停止。