对苹果官方speakhere的使用体会

本文介绍了将苹果speakhere demo应用于音频项目时遇到的问题,包括C++与Objective-C混编的配置调整,以及音频格式(PCM、LPCM、ADPCM)的理解。解决方法包括将C++部分隔离为静态库,并通过设置Audio Queue Server的缓冲区时长来获取特定长度的PCM数据。
摘要由CSDN通过智能技术生成

最近做音频项目,通过筛选,选择了audio queue server的方式来实现。我选择了苹果的speakhere作为测试demo。

首先一个感触demo是c++编写的。整合到xcode项目中,需要修改几个工程配置项 C++Language Dialect 要选 Compiler Default 选项。如果要整合到Xcode项目上,配置项Compile Sources As  要选择 Object-c++。这个大家都是是c++和object-c的混编。然而我的项目郁闷的是有c语言,object-c和新加入的C++。三种语言在一个工程中,我怎么编译都错误。最后我选择了把c++模块独立成一个静态库。世界就安静了。(C,obj-c,c++三语言真的不能再同一个项目中,有知道的告诉我一声。先谢了)。

第二个问题:音频格式问题。一般都使用PCM格式。但是网上一搜就是PCM,LPCM,ADPCM格式。刚开始被这个三格式弄糊涂了,其实PCM(脉冲编码调制)是原始未压缩的音频数据,LPCM(线性编码调制)是经过处理的音频数据,它是未压缩的,比较起pcm就是数据更多些,adpcm就是经过压缩的数据了。

第三个问题:根据协议要求需要产生数据长度为320的PCM格式的数据。参考speakHere例子,得到了数据ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值