【iOS开发】将 .caf 格式转为 .mp3 格式方法
来源:互联网 发布:eview触摸屏编程软件 编辑:程序博客网 时间:2024/04/30 17:23
通过第三方框架 lame,将将 .caf 格式转为 .mp3 格式。
具体代码
- (NSURL *)transformCAFToMP3:(NSURL *)sourceUrl{ NSURL *mp3FilePath,*audioFileSavePath; NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; mp3FilePath = [NSURL URLWithString:[path stringByAppendingPathComponent:@"test.mp3"]]; @try { int read, write; FILE *pcm = fopen([[sourceUrl absoluteString] cStringUsingEncoding:1], "rb"); //source 被转换的音频文件位置 fseek(pcm, 4*1024, SEEK_CUR); //skip file header FILE *mp3 = fopen([[mp3FilePath absoluteString] cStringUsingEncoding:1], "wb"); //output 输出生成的Mp3文件位置 NSLog(@"sour-- %@ last-- %@",sourceUrl,mp3FilePath); const int PCM_SIZE = 8192; const int MP3_SIZE = 8192; short int pcm_buffer[PCM_SIZE*2]; unsigned char mp3_buffer[MP3_SIZE]; lame_t lame = lame_init(); lame_set_in_samplerate(lame, 11025.0); lame_set_VBR(lame, vbr_default); lame_init_params(lame); do { read = fread(pcm_buffer, 2*sizeof(short int), PCM_SIZE, pcm); if (read == 0) write = lame_encode_flush(lame, mp3_buffer, MP3_SIZE); else write = lame_encode_buffer_interleaved(lame, pcm_buffer, read, mp3_buffer, MP3_SIZE); fwrite(mp3_buffer, write, 1, mp3); } while (read != 0); lame_close(lame); fclose(mp3); fclose(pcm); } @catch (NSException *exception) { NSLog(@"%@",[exception description]); } @finally { audioFileSavePath = mp3FilePath; NSLog(@"MP3生成成功: %@",audioFileSavePath); UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"mp3转化成功!" message:nil delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil]; [alert show]; } return audioFileSavePath;}
lame 下载地址 : http://pan.baidu.com/s/1cGap0E ut8m
2 0
- 【iOS开发】将 .caf 格式转为 .mp3 格式方法
- iOS开发通过lame将语音文件转为MP3格式
- 使用mp3制作caf格式iOS音效
- iOS录音后的.caf格式转MP3格式
- ios自带录音格式(caf)转MP3格式
- java利用ffmpeg将amr、caf转mp3格式
- Mac上mp3格式转caf格式
- Mac上mp3格式转caf格式
- MP3音频文件转换成caf格式
- iPhone通过(lame for iPhone armV7)将音频Caf格式转换成Mp3 iPhone通过(lame for iPhone armV7)将音频Caf格式转换成Mp3
- iPhone通过(lame for iPhone armV7)将音频Caf格式转换成Mp3
- 使用FFMPEG将speex音频格式转为mp3和ogg格式
- iOS 音频转码 使用lame转为MP3格式
- 从 .mp3 转为 .amr 格式 流媒体
- debian下flv转为mp3格式
- iOS使用lame将录制音频转mp3格式
- ios将摄像头捕获的视频数据转为jpeg格式
- ios将摄像头捕获的视频数据转为jpeg格式
- 数组处理
- arm mmu
- 第十周项目3-利用二叉树遍历思想解决问题(2)
- 学linux实战运维,就来爱维教育
- idea导入maven项目 无法加载依赖包
- 【iOS开发】将 .caf 格式转为 .mp3 格式方法
- Nexus私服搭建及本地jar管理
- Centos7系统 docker启动nginx1.10.1容器
- js 调用 Android 原生代码
- JZOJ4854【NOIP2016提高A组集训第6场11.3】小澳的坐标系
- 解决_CRT_SECURE_NO_WARNINGS 警告
- JS对省市按首字母排序
- go安装leaf
- Linux 20个Linux系统监视工具