我正在定期播放一些音符。每一个都被延迟了一个毫秒的随机数,产生了一个不规则的效果。我如何解决它?SoundManager2有不规则的延迟
注意:只要一致,我还是有一些延迟。
类型“实现您自己的小SoundManager2替换,优化定时敏感回放”的答案是确定的,如果你知道如何做到这一点:)但我试图避免重写我的整个应用程序在Flash中现在。
有关可听延迟为零的应用的示例,请参阅基于闪存的应用ToneMatrix。
测试用例 (see it here live或get it in an zip):
<head>
<title></title>
<script type="text/javascript"
src="http://www.schillmania.com/projects/soundmanager2/script/soundmanager2.js">
</script>
<script type="text/javascript">
soundManager.url = '.'
soundManager.flashVersion = 9
soundManager.useHighPerformance = true
soundManager.useFastPolling = true
soundManager.autoLoad = true
function recur(func, delay) {
window.setTimeout(function() { recur(func, delay); func(); }, delay)
}
soundManager.onload = function() {
var sound = soundManager.createSound("test", "test.mp3")
recur(function() { sound.play() }, 300)
}
</script>
</head>
<body>
</body>
</html>
当我运行你的测试用例时,这些音符与我听起来像节奏规律一样播放。这是否意味着我在快速机器上获得了更好的浏览器,而只有很少或没有其他后台进程?或者我对你听到的违规行为不敏感?您能否详细介绍一下您遇到的不规则情况 - 您提到了“毫秒的随机数”,但我敢肯定我无法检测到5毫秒和15毫秒之间的差异。换句话说,如果我们听不到有什么问题,我们不能提出解决方案。 – brainjam 2010-03-24 21:36:25