Lor*_*ari 3 iphone objective-c avfoundation ios avaudioengine
正如标题所示。
Swift 中有一个旧的解决方案here。但我很难转换到 Objective-C。似乎没有 Objective-C 的等价物UnsafeBufferPointer
Objective-C 语言中内置了不安全的指针,因此转换就变成了:
- (NSData *)bufferToNSData:(AVAudioPCMBuffer *)buffer {
return [[NSData alloc] initWithBytes:buffer.floatChannelData[0] length:buffer.frameLength * 4];
}
Run Code Online (Sandbox Code Playgroud)
注意,这假设缓冲区中存在单声道 32 位浮点数据。需要做更多的工作才能将所有支持的AVAudioPCMBuffer格式序列化为NSData.
| 归档时间: |
|
| 查看次数: |
1424 次 |
| 最近记录: |