我正在使用SimpleLameLibForAndroid将使用Android中的AudioRecord类创建的pcm文件转换为mp3.我读取了pcm文件并将其编码为mp3,然后将其写入文件中.结果mp3文件,但不正确,它有很多噪音,真的很难理解它是记录pcm文件.这些是录制的音频规格(pcm文件):
private static final int RECORDER_SAMPLERATE = 8000;
private static final int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO;
private static final int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;
int BufferElements2Rec = 1024; // want to play 2048 (2K) since 2 bytes we use only 1024
int BytesPerElement = 2; // 2 bytes in 16bit format
recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
RECORDER_SAMPLERATE, RECORDER_CHANNELS,
RECORDER_AUDIO_ENCODING, BufferElements2Rec * BytesPerElement);
Run Code Online (Sandbox Code Playgroud)
这是我的代码使用liblame编码mp3并将其写入文件:
//Encoder.Builder(int inSamplerate,int outChannel,int outSampleRate,int outBitrate)
Encoder en = new Encoder.Builder(8000, 1,8000,128).quality(7).create();
private int PCM_BUF_SIZE = 8192;
private int …Run Code Online (Sandbox Code Playgroud)