正如标题所示。
Swift here中有一个旧解决方案。但我很难转换为Objective-C。似乎没有与UnsafeBufferPointer
答案 0 :(得分:0)
Objective-C在语言中内置了不安全的指针,因此转换只会变为:
- (NSData *)bufferToNSData:(AVAudioPCMBuffer *)buffer {
return [[NSData alloc] initWithBytes:buffer.floatChannelData[0] length:buffer.frameLength * 4];
}
N.B。这假设缓冲区中有单声道32位浮点数据。需要完成更多工作才能将所有支持的AVAudioPCMBuffer
格式序列化为NSData
。