在黑莓上播放声音时遇到以下问题:
除模拟器外,我还在物理设备上进行了测试。在模拟器上,必须有一个错误,因为声音开始前需要几秒钟(我听说这是模拟器的问题,所以......)。
我也测试了.wav vs .mp3文件,它给出了几乎相同的结果。
以下是我用来加载播放器的代码:
stream = new Object().getClass().getResourceAsStream(fileName);
result = javax.microedition.media.Manager.createPlayer(stream, fileName.endsWith(".wav")?"audio/x-wav":"audio/mpeg");
if (prefetch) {
result.prefetch();
}
然后我存储播放器参考,我稍后使用以下代码播放声音:
javax.microedition.media.Player player = (javax.microedition.media.Player)resources[soundId];
if (player != null) {
//#debug
System.out.println("Player state: " + player.getState());
if (player.getState() != javax.microedition.media.Player.STARTED) {
player.setLoopCount(loopCount);
player.start();
}
}
我很肯定延迟是由于声音播放,因为我有一个开关将其关闭,当我这样做时延迟就消失了。有什么我做错了吗?
更新
没有任何效果,所以我最终将声音更改为midi文件,这些文件处理得更好。如果有人找到解决方案,我仍然希望听到它。
答案 0 :(得分:1)
这个问题没有很好的解决方案,但这里有如何缓解它: