2011-10-10 61 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中。