我写了一个循环来使用扩展音频文件服务将我的应用程序生成的pcm音频数据编码到aac.编码同步地在后台线程中进行,而不是实时进行.
对于ios 4和i,ipad 1和iphone 3gs/4的编码完美无缺.然而,对于双核设备(iphone 4s,ipad 2),第三次调用ExtAudioFileWrite会使编码线程崩溃,没有堆栈跟踪,也没有错误代码.
这是有问题的代码:
数据格式
AudioStreamBasicDescription AUCanonicalASBD(Float64 sampleRate,
UInt32 channel){
AudioStreamBasicDescription audioFormat;
audioFormat.mSampleRate = sampleRate;
audioFormat.mFormatID = kAudioFormatLinearPCM;
audioFormat.mFormatFlags = kAudioFormatFlagsAudioUnitCanonical;
audioFormat.mChannelsPerFrame = channel;
audioFormat.mBytesPerPacket = sizeof(AudioUnitSampleType);
audioFormat.mBytesPerFrame = sizeof(AudioUnitSampleType);
audioFormat.mFramesPerPacket = 1;
audioFormat.mBitsPerChannel = 8 * sizeof(AudioUnitSampleType);
audioFormat.mReserved = 0;
return audioFormat;
}
AudioStreamBasicDescription MixdownAAC(void){
AudioStreamBasicDescription audioFormat;
audioFormat.mSampleRate = 44100.0;
audioFormat.mFormatID = kAudioFormatMPEG4AAC;
audioFormat.mFormatFlags = kMPEG4Object_AAC_Main;
audioFormat.mChannelsPerFrame = 2;
audioFormat.mBytesPerPacket = 0;
audioFormat.mBytesPerFrame = 0;
audioFormat.mFramesPerPacket = 1024;
audioFormat.mBitsPerChannel = 0;
audioFormat.mReserved = 0;
return …Run Code Online (Sandbox Code Playgroud) 我正在尝试更新我的项目以使用CocoaPods 0.36.0的新use_frameworks!选项.我在Xcode 6.2中使用Objective-C(不是Swift),部署目标是8.1.
除Google Analytics之外,所有内容都正在构建和正确链接,我收到链接器错误:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_GAI", referenced from:
objc-class-ref in NPDAnalytics.o
"_OBJC_CLASS_$_GAIDictionaryBuilder", referenced from:
objc-class-ref in NPDAnalytics.o
ld: symbol(s) not found for architecture x86_64
我试过改变我的旧式
#import <GoogleAnalytics_iOS_SDK/GAI.h>
到模块导入:
@import GoogleAnalytics_iOS_SDK;
但这没有任何帮助.
GAI是否与CocoaPods的动态框架实现不兼容,还是有其他一些技巧可以让它发挥作用?
objective-c ios ios-frameworks cocoapods google-analytics-sdk