2011-10-10 56 views
0

我的音频工作,但存储在第1帧。我希望它将音频移动到第2帧。这是因为我使用第1帧作为小型预加载器,并使用第2帧作为所有内容。如何在第2帧中嵌入音频?

在库中,mp3的“Export for ActionScript”中有复选标记,并且“Class”设置为“Song”。在“导出到第1帧”中没有复选标记,但尽管如此,似乎MP3已导出到第1帧。我生成了大小报告,并且看到MP3数据在第1帧中结束。如果删除了mp3从项目再次,然后我可以看到帧1的大小从大约1.7 Mb下降到20 Kb。

这是暂停/播放按钮,文件代码

// filename: PausePlay.as 
var song:Song = null; 
this.song = new Song(); 
this.song.play(); 

这是加载歌曲

// filename: Song.as 
package { 
    import flash.media.Sound; 
    import flash.media.SoundChannel; 
    public class Song extends Sound { 
     public function Song() 
     { 
      trace("Song called"); 
     } 
    } 
} 

在寻找其他的方式来加载音频,我已经看到一些代码像[Embed source="song.mp3"],但是当我使用它时,我收到一条警告,说这个语法需要FLEX。

如何在音频中嵌入第2帧的AS3中播放音频?

+0

为什么你想要它被嵌入到第2帧?压载吗? – Kodiak

+0

是的。我在第1帧中有一个预加载器,它在第1帧中填充了大约20 Kb。第2帧大约是7 Mb。 – neoneye

回答

1

解决了!

我从mp3中删除了“export to actionscript”复选标记。

我创建了一个包含mp3的MovieClip,并为它指定了实例名称“song”。

我切换按钮的代码变更为这样:

if (this.is_playing) { 
    this.song.soundTransform = new SoundTransform(0, 0); 
    this.is_playing = false; 
} else { 
    this.song.soundTransform = new SoundTransform(1, 0); 
    this.is_playing = true; 
} 

现在音频被存储在帧#2中。