最近做音频项目,通过筛选,选择了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例子,得到了数据ÿ