2012-08-09 45 views

回答

2

3年前進行測試時,Galaxy-Tab1設備的AIR2版本運行良好。

參考以下我的代碼。我可能會工作得很好。相信我。

這裏使用的框架是鏈接。

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"); 
} 
+2

我會提醒任何移動平臺上的MP3壓縮。我已經在Android和iPhone上嘗試了上述方法,壓縮需要很長時間才能播放一分鐘的音頻,並且手機變得緩慢而溫暖。 – 2012-08-09 16:13:02

+0

真的嗎?必須小心。在過去,客戶沒有做出任何迴應,他們不知道這一點。我也沒有經歷過這樣的情況,當測試和不能。 – 2012-08-09 16:16:36

+0

@TianzhenLin你的建議,而不是壓縮到MP3? – 2012-08-09 16:22:33