Я пытался конвертировать wav в mp3 в свой проект actionscript, и я был рад найти https://github.com/phillockwood/Shine-MP3-Encoder-on-AS3-Alchemy , но мои знания ActionScript настолько ограничены, что я не знаю, как использовать его в моем проекте.Как использовать «Shine-MP3-Encoder-on-AS3-Alchemy»?
В моем проекте, функции следуют, конвертируют данные byteArray в формат wav, и мне нужно преобразовать wav в mp3. Я знаю, что использование Shine-MP3-Encoder может выполнять эту работу, но я просто не знаю, где разместить его в своем проекте и как его функция ... кто может мне помочь? Я ценю это ~~
public static function convertToWav(soundBytes:ByteArray, sampleRate:int):ByteArray {
var data:ByteArray = new ByteArray();
data.endian = Endian.LITTLE_ENDIAN;
var numBytes:uint = soundBytes.length/2; // soundBytes are 32bit floats, we are storing 16bit integers
var numChannels:int = 1;
var bitsPerSample:int = 16;
// The following is from https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
data.writeUTFBytes("RIFF"); // ChunkID
data.writeUnsignedInt(36 + numBytes); // ChunkSize
data.writeUTFBytes("WAVE"); // Format
data.writeUTFBytes("fmt "); // Subchunk1ID
data.writeUnsignedInt(16); // Subchunk1Size // 16 for PCM
data.writeShort(1); // AudioFormat 1 Mono, 2 Stereo (Microphone is mono)
data.writeShort(numChannels); // NumChannels
data.writeUnsignedInt(sampleRate); // SampleRate
data.writeUnsignedInt(sampleRate * numChannels * bitsPerSample/8); // ByteRate
data.writeShort(numChannels * bitsPerSample/8); // BlockAlign
data.writeShort(bitsPerSample); // BitsPerSample
data.writeUTFBytes("data"); // Subchunk2ID
data.writeUnsignedInt(numBytes); // Subchunk2Size
soundBytes.position = 0;
while(soundBytes.bytesAvailable > 0) {
var sample:Number = soundBytes.readFloat(); // The sample is stored as a sine wave, -1 to 1
var val:int = sample * 32768; // Convert to a 16bit integer
data.writeShort(val);
}
return data;
}