我已经设置了一个很好的Flash音频可视化,它可以加载音频文件并播放它,并在音乐中及时显示一系列闪烁的彩色条。我不想在swf中列出和控制歌曲的播放。我希望在页面的HTML中列出歌曲,最好是非Flash格式。我在Soundcloud上托管我的音频并找到了他们javascript player,这很适合我的目的。现在我怎么能整合这两件事呢?
似乎要么我需要一种方法将javascript播放器生成的音频传输到swf中,如果可能的话,或者将声音静音在两个位置之一(最好是js,以便vis最佳同步)并将所有播放/停止/搜索命令从js播放器传递到flash vis。这是否太难以打扰?
更新 让我更具体一点。假设“将音频传输到swf”方法无效,我将需要在swf和js之间传递许多不同的消息。我知道如何从js开始swf音频。有人能够证明如何做以下事情吗?
您可以假设存在以下代码:
var url:String = "mysong.mp3";
var song:SoundChannel;
var request:URLRequest = new URLRequest(url);
var s:Sound = new Sound();
s.addEventListener(Event.COMPLETE, onLoadComplete );
s.load(request);
function onLoadComplete(event:Event):void
{
song = s.play(33000);
song.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
s.removeEventListener( Event.COMPLETE, onLoadComplete );
}
function soundCompleteHandler(event:Event):void
{
song.removeEventListener( Event.SOUND_COMPLETE, soundCompleteHandler );
}
我不明白Sound类和SoundChannel类之间的奇怪分离,以及为什么不同的方法似乎分散在它们之间。
答案 0 :(得分:0)
哇!感谢一些很棒的Adobe voodoo,我的flash音频可视化器实际上是在自动拾取在同一网页上播放的音频!我认为这与我使用SoundMixer.computeSpectrum()的事实有关。我甚至不明白它是如何工作的,但显然它可以看到外部闪存本身对浏览器窗口中播放的任何音频。所以我不必担心“将音频传输到闪存中”或者在swf和javascript之间传递函数!
通常编程努力需要使各种变量适合任何工作。当一切都在没有尝试的情况下工作时,它有多棒!