0
在Flash as3.0中錄製的語音存儲在BytesArray變量中。現在需要將記錄的聲音存儲爲aspx腳本中的.mp3或.wav文件。任何可以幫助我?如何將字節數組轉換爲音頻格式並保存在服務器中的任何概念請分享。如何使用從as3.0 aspx腳本aspx腳本轉換字節數組爲mp3?
在Flash as3.0中錄製的語音存儲在BytesArray變量中。現在需要將記錄的聲音存儲爲aspx腳本中的.mp3或.wav文件。任何可以幫助我?如何將字節數組轉換爲音頻格式並保存在服務器中的任何概念請分享。如何使用從as3.0 aspx腳本aspx腳本轉換字節數組爲mp3?
參考以下我的代碼。這段代碼是錄製你的聲音後轉換爲wav或mp3保存的技巧。轉換輸出mp3和wav文件是保證與C和Java的套接字通信。我測試了Windows-XP(32位)Windows7(64位),MacOSX,Android。
這裏使用的框架是鏈接。
WAVWriter: WAVWriter
ShineMP3Encoder: ShineMP3Encoder
import com.adobe.audio.format.WAVWriter;
import fr.kikko.lab.ShineMP3Encoder;
import flash.events.SampleDataEvent;
import flash.media.Microphone;
import flash.media.Sound;
import flash.utils.ByteArray;
import flash.events.Event;
var mp3encoder:ShineMP3Encoder;
var microphone:Microphone;
var isRecording:Boolean=false;
var soundRecording:ByteArray;
function startMicRecording():void
{
isRecording=true;
soundRecording = new ByteArray();
microphone=Microphone.getMicrophone();
microphone.rate=44;
microphone.addEventListener(SampleDataEvent.SAMPLE_DATA, gotMicData);
}
function stopMicRecording():void {
isRecording=false;
microphone.removeEventListener(SampleDataEvent.SAMPLE_DATA, gotMicData);
soundRecording.position=0;
convert2MP3();
}
function gotMicData(micData:SampleDataEvent):void
{
soundRecording.writeBytes(micData.data);
}
function convert2MP3():void
{
var wavWrite:WAVWriter = new WAVWriter();
wavWrite.numOfChannels=1;
wavWrite.sampleBitRate=16;
wavWrite.samplingRate=44100;
var wav:ByteArray = new ByteArray();
wavWrite.processSamples(wav, soundRecording, 44100,1);
wav.position=0;
/*
If the process is compressed into mp3 if you have big problems,
just as .wav format save. following code:
var file:FileReference = new FileReference();
file.save(wav,"your_file_name.wav");
*/
mp3encoder=new ShineMP3Encoder(wav);
mp3encoder.addEventListener(Event.COMPLETE, onEncoded);
mp3encoder.start();
}
function onEncoded(e:Event):void
{
mp3encoder.mp3Data.position=0;
mp3encoder.saveAs("your_file_name.mp3");
}
startMicRecording();
感謝您立即作出反應。然而,我設法編碼ByteArray(用於mp3),我想從ASP應用程序(而不是從PHP)保存它,而不是從閃存應用程序保存它。你有任何想法使用ASP保存它,因爲我絕對是ASP的新手。 – sureshunivers 2012-08-17 11:48:39
只是爲了讓您知道,這是將麥克風數據保存到MP3的最簡潔易用的方法。 – lostPixels 2012-11-28 23:00:55