之前写过一篇《如何实现多路同时MP3编码》(地址https://blog.csdn.net/xjb2006/article/details/78404523 )
那篇主要使用了intel的ipp技术,今天写下更简单而且功能强大的mp3编码库,也可以实现同样的功能:
这里处理了双声道和单声道:
BYTE mp3_buffer[4096*5];
int write = 0;
if(channel==2)
write=lame_encode_buffer_interleaved(lame,(short*)pData,nAudioLen/4 , mp3_buffer, sizeof(mp3_buffer));
else
write = lame_encode_buffer(lame, (short*)pData, NULL,nAudioLen/2, mp3_buffer, sizeof(mp3_buffer));
if(write>0)
fwrite(mp3_buffer, write, 1, mp3);
lame_encode_buffer_interleaved是写的双声道混合,lame_encode_buffer写左右声道分开。
再贴一些初始化的代码吧:
lame_t lame;
lame = lame_init();
int nV=lame_get_version(lame);
//lame_init_bitstream(lame);
lame_set_in_samplerate(lame, 22050);
lame_set_out_samplerate(lame, 22050);
lame_set_num_channels(lame, 1);
lame_set_brate(lame,64);
lame_set_quality(lame,2);
lame_init_params(lame);
很简单,很强大,直接支持采样率从8000到48000HZ,根据不同采样率设置不同的版本,如8000设置为版本2.5
什么时候找个时间上传代码上去,最后打个广告:
需要合作的联系QQ35744025,本人03年从事工作,“精通”音视频应用编程技术(勉强加个精通,吸引眼球,哈哈),精通VC,MFC,多媒体教学软件,录播软件,直播软件的核心技术大部分已掌握,如ffmpeg技术,MP4,FLV编码合成,H264,AAC,MP3,可以运用IPP进行高效图像空间转换等,可以运用INTEL和cuda进行硬件H264编解码,可以实现240帧1080P实时编码,完全同步及平滑度极高,rtmp直播推送,rtmp服务器,YV12,YUV422,NV12,RGB24,RGB32熟悉转换,缩放,wav,AAC, mp3的编码解码,视频切换特效算法,视频水印,LOGO,文字。屏幕截取录像,摄像头捕获录像,D3D高效视频图像显示,OPENCV,图像库ximage,GDI,GDIPLUS熟练应用,语音识别及文字转换,人脸识别及匹配,局域网内远程控制,音视频实时通话,声卡捕获回放等,另外SQL数据库,ACCESS,EXCEL数据库,DOC,PDF文件打开提取,FTPServer,Client,以上所有代码均已商用。
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊,一直没有仔细统计过,原来我也学会了这么多东西了啊,真佩服自己啊