我正在使用记录音频和视频的外部摄像头。
我的应用程序接收具有以下结构的 AAC 格式的音频:
struct AudioPacket {
let timestamp: TimeInterval
let data: Data
let asbd: AudioStreamBasicDescription
let magicCookie: Data
let audioSpecificConfigData: Data
}
该AudioStreamBasicDescription
属性具有以下内容:
- mSampleRate : 48000.0
- mFormatID : 1633772320
- mFormatFlags : 0
- mBytesPerPacket : 0
- mFramesPerPacket : 1024
- mBytesPerFrame : 0
- mChannelsPerFrame : 1
- mBitsPerChannel : 0
- mReserved : 0
我正在使用AVAssetWriter
并且需要向CMSampleBuffer
资产编写器提供 -s 将音频和视频写入文件。
那么如何将上述AudioPacket
结构转换为CMSampleBuffer
?