具有computeSpectrum的Flash音频可视化工具已停止工作
有什么东西在Flash中被改变了吗?不久前,我为我正在开发的一个网站制作了一个音乐可视化工具。它使用SoundMixer.computeSpectrum获取音频中所有频率的级别。它对我来说工作得很好,它甚至可以播放页面上其他flash对象的音频,这对我来说很好,省去了我试图以某种方式将音频从各种播放器对象传输到可视化工具的麻烦 现在它不工作了。自上次测试以来,我对网站进行了更改,但我认为这不是问题所在。可视化工具不再对任何音频有任何响应,即使来自同一flash实例。但是当我在visualizer中播放音频时,在任何浏览器中,帧率都会明显下降。如果我从使用FlashPlayer9的FlashProfessionalCS3预览swf,它可以正常工作,但对于浏览器中的Flash11.3则不行。有人能解释一下发生了什么变化,我需要做些什么才能让事情顺利进行吗 更新: 下面是一些相关的代码位具有computeSpectrum的Flash音频可视化工具已停止工作,flash,Flash,有什么东西在Flash中被改变了吗?不久前,我为我正在开发的一个网站制作了一个音乐可视化工具。它使用SoundMixer.computeSpectrum获取音频中所有频率的级别。它对我来说工作得很好,它甚至可以播放页面上其他flash对象的音频,这对我来说很好,省去了我试图以某种方式将音频从各种播放器对象传输到可视化工具的麻烦 现在它不工作了。自上次测试以来,我对网站进行了更改,但我认为这不是问题所在。可视化工具不再对任何音频有任何响应,即使来自同一flash实例。但是当我在visualizer
var ba:ByteArray = new ByteArray();
addEventListener(Event.ENTER_FRAME,timerHandler);
function timerHandler(event:Event):void {
SoundMixer.computeSpectrum(ba, true);
}
我还在字节数组中使用readFloat和writeFloat。当然,还有很多其他代码,但在Flash 9中运行良好。我也遇到过同样的问题,正在努力解决 我有推荐信,你介意看一下吗 Adobe论坛:SoundMixer.computeSpectrum()无法工作 Kirupa论坛:时间线上的声音:SoundMixer.computeSpectrum 于2012年9月30日编辑 当您声明
声音
实例化时,如果您这样编码它:
var-sound:sound=新声音(新的url请求(“url”)代码>
其中,sound是sound
实例的名称,url是您正在加载的声音的url,请将其更改为:
var-sound:sound=new-sound(new-URLRequest(“url”)、new-SoundLoaderContext(0,true))代码>
这应该行得通。flash v11.3中存在一个缺陷,导致computeSpectrum()返回不完整的空数据。它还没有在最新的flash player版本(截至本文撰写之时的v11.5)中修复
如果您将flashplayer降级到v11.2,您将看到您的可视化效果与以前一样
请投票表决此错误,以便adobe修复它
---编辑---
现在已从flash player 11.7修复 我很感激你和我有类似的问题,但这不是答案。你应该将此作为评论发布。我尝试了你的Kirupa代码,我甚至从ctrl-enter得到了一个0。你能分享一些代码或url吗?也许看看这些可以帮助缩小范围。它是否在Flash Professional CS5或CS5.5或CS6的Flash Player10.2中播放?我没有访问Flash 10.2的权限。