2011-08-15 100 views
0

我試圖拼湊在Flash中一個基本的MP3播放機(使用Flex框架)Flex的聲音提取並保存MP3

到目前爲止,我已經得到了:

var ba:ByteArray=new ByteArray(); 
sound.extract(ba, playEnd - playStart, playStart); 

此提取相關的字節從sound對象並將其存儲在ba

然後,我這樣做:

saveFile=new FileReference(); 
saveFile.save(ba, sound.id3.artist + " - " + sound.id3.songName + ".mp3"); 

該文件保存正確,但無法播放(播放器說它已損壞)

任何指針如何從提取後獲得的byteArray中創建一個有效的mp3文件?

感謝,
Pranav

+0

我會想象mp3格式需要設置更多的數據而不僅僅是聲音字節。 –

+0

@J_A_X,我意識到,但有什麼辦法可以將原始字節編碼成mp3文件嗎? –

+0

我所知道的唯一一款基於Flash的音頻操作工具是[AudioTools](http://www.audiotool.com/),但他們多年來一直在研究這款產品以獲取它的位置。我建議你做更多的研究,以瞭解什麼是MP3文件格式的規範,並學習如何使用直接字節重現它。 –

回答

0

我寫了很多關於在我的博客上使用Flash進行音頻處理的文章。這是一個你可能會發現有用:

http://labs.makemachine.net/2010/07/slice-tool-looper/

本文概述瞭如何使用麥克風進行錄音,也包括上保存音頻文件的一些信息:

http://labs.makemachine.net/2011/04/record-visualize-save-microphone-input/

+0

我簽出了切片工具 我切片的方式不同,使用提取。它基本上給出了一個包含相關字節的ByteArray。我已經有了一個wavEncoder,但由於某種原因只能編碼1秒的聲音......任何指針? –

0

我會建議使用WAVE格式保存文件,而MP3的,它會爲你節省大量的時間。只需查看wave格式並製作自己的課程即可。你可以看看這個傢伙的課(henke37):http://www.actionscript.org/forums/showthread.php3?t=256774這可以讓你開始如何做到這一點。 如果您想稍後再播放聲音,則需要製作波形加載器。

+0

我已經寫了一個wav編碼器,但我真的更喜歡mp3 –