lame 3.99和 AFNetworking升级遇到的几个问题的处理

使用 lame 处理音频有一段时间了。

之前使用的是直接从网上下载的库。

一、处理问题1

后来不断出现 libmp3lame missing required architecture x86_64 问题。

使用临时的方法(http://blog.csdn.net/teamlet/article/details/51620139)不影响编译 和 在Appstore的更新。

自动更新到8.1之后,各种快捷方式不好用,最后连模拟器都无法使用了。

删除xcode之前的所有版本,重新下载了xcode8.2,发现这个临时的方法(http://blog.csdn.net/teamlet/article/details/51620139)不好用了。

只好到 lame 的原站下载了最新版本,自己编译最新版本的库。
http://sourceforge.net/projects/lame/files/lame/3.99/

编译方法:
1、http://download.csdn.net/detail/teamlet/9709968
2、http://download.csdn.net/detail/teamlet/9709977

编译后,发现网上下载的库的大小是 1.5M,而自己编译的是 4.5M
这也许就是问题所在吧!

处理警告1

ibmp3lame.a(fft.o)) was built for newer iOS version (9.3) than being linked (8.0) 出现!

Build Setting -> Other Linker Flags在原有参数后面添加 -w

处理警告2

Implicit conversion loses integer precision: ‘unsigned long’ to ‘int’

在 lame.h中有一个方法
lame_encode_buffer_interleaved()
其中有一个参数是 int num_samples
只需要把int 改为 unsigned long 就可以了。

 unsigned long read;
 unsigned long write;
 ...
   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);

二、更新类库

随后把第三方类库全部更新!!!

AFNetworking从2.0 升级到 3.1 的最新版。

1、处理警告

AFHTTPSessionManager的 GET,POST等一系列方法都DEPRECATED掉了。
新的方法是在success前面加上一个调用参数 progress:nil

[session GET:@"请求的url" parameters:nil  progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
        NSLog(@"成功");
} failure:^(NSURLSessionDataTask *task, NSError *error) {
        NSLog(@"失败");        
}];
 [manager POST:stringURL
          parameters:parma
          progress:nil  success:^(NSURLSessionDataTask *operation, id responseObject) {
           NSLog(@"成功");
 } failure:^(NSURLSessionDataTask *operation, NSError *error) {
         NSLog(@"失败");
  }];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值