Flash 中是否发生了一些变化?不久前,我为我正在开发的一个网站制作了一个音乐可视化工具。它使用 SoundMixer.computeSpectrum 来获取音频中所有频率的电平。它对我来说非常有用,它甚至可以播放页面上其他 Flash 对象的音频,这对我来说效果很好,并且省去了我试图以某种方式将音频从各种播放器对象传输到可视化器的麻烦。
好吧,现在它不再起作用了。自从我上次测试以来,我已经对网站进行了更改,但我认为这不是问题。即使在同一个 Flash 实例中,可视化器也不再对任何音频做出任何响应。但是当我在可视化器中播放音频时,在任何浏览器中,帧率都会明显下降。如果我从使用 Flash Player 9 的 Flash Professional CS3 预览 swf,它可以正常工作,但对于浏览器中的 Flash 11.3 则不能。有人可以解释发生了什么变化以及我需要做什么才能使事情正常进行吗?
更新:
以下是一些相关的代码。
var ba:ByteArray = new ByteArray();
addEventListener(Event.ENTER_FRAME,timerHandler);
function timerHandler(event:Event):void {
SoundMixer.computeSpectrum(ba, true);
}
我还将 readFloat 和 writeFloat 与字节数组一起使用。当然还有很多其他代码,但它们在 Flash 9 中都可以正常工作。