libmp3lame库的地址:http://blog.csdn.net/allen315410/article/details/42456661
为什么会变快? 是因为该博主使用的时候双声道录音, 如何是单声道录音就会使速度变快,修改的代码如下:
JNIEXPORT void JNICALL Java_com_tian_voicechangerpro_ChangerActivity_convertmp3
(JNIEnv * env, jobject obj, jstring jwav, jstring jmp3 ) {
char* cwav =Jstring2CStr(env,jwav) ;
char* cmp3=Jstring2CStr(env,jmp3);
LOGI("wav = %s", cwav);
LOGI("mp3 = %s", cmp3);
//1.打开 wav,MP3文件
FILE* fwav = fopen(cwav,"rb");
fseek(fwav, 4*1024, SEEK_CUR);
FILE* fmp3 = fopen(cmp3,"wb");
int channel = 1;//单声道
short int wav_buffer[8192*channel];
unsigned char mp3_buffer[8192];
//1.初始化lame的编码器
lame_t lame = lame_init();
//2. 设置lame mp3编码的采样率
lame_set_in_samplerate(lame , 44100);
lame_set_out_samplerate(lame, 44100);
lame_set_num_channels(lame,1);