使用AVCaptureAudioDataOutput时,CMSampleBuffer中存储的数据是什么?它通过委托方法–captureOutput:didOutputSampleBuffer:fromConnection:提供CMSampleBuffers,但是CMSampleBuffer内部是什么呢?PCM还是压缩?采样率、通道数等是什么?如何将其用于设备的音频流传输?用谷歌搜索几个小时对我没什么帮助。
提前感谢
发布于 2011-11-08 20:30:52
看起来你可以这样得到ASBD:
sampleBuffer->
CMSampleBufferGetFormatDescription ->
CMAudioFormatDescriptionGetStreamBasicDescription然后,ASBD将详细说明帧的大小、是否被压缩、字节顺序等。
要演示这一点(不进行错误检查)并获取采样率:
CMSampleBufferRef cmSampleBuffer = ...;
CMFormatDescriptionRef formatDescription =
CMSampleBufferGetFormatDescription(cmSampleBuffer);
const AudioStreamBasicDescription* const asbd =
CMAudioFormatDescriptionGetStreamBasicDescription(formatDescription);
double sampleRate = asbd->mSampleRate;发布于 2021-01-26 22:23:36
Swift 5
let formatDescription = CMSampleBufferGetFormatDescription(sampleBuffer)
let asbd = CMAudioFormatDescriptionGetStreamBasicDescription(formatDescription!)
let sampleRate = asbd?.pointee.mSampleRatehttps://stackoverflow.com/questions/8049999
复制相似问题