【发布时间】:2017-07-12 10:12:30
【问题描述】:
我需要将CMSampleBuffer 转换为Data 格式。我正在为音频相关任务使用一个第三方框架。该框架为我提供CMSampleBuffer 对象中的流式(即实时音频)音频。
像这样:
func didAudioStreaming(audioSample: CMSampleBuffer!) {
//Here I need to conver this to Data format.
//Because I am using GRPC framework for Audio Recognization,
}
请提供将CMSampleBuffer 转换为Data 的步骤。
仅供参考
let formatDesc:CMFormatDescription? = CMSampleBufferGetFormatDescription(audioSample)
<CMAudioFormatDescription 0x17010d890 [0x1b453ebb8]> {
mediaType:'soun'
mediaSubType:'lpcm'
mediaSpecific: {
ASBD: {
mSampleRate: 16000.000000
mFormatID: 'lpcm'
mFormatFlags: 0xc
mBytesPerPacket: 2
mFramesPerPacket: 1
mBytesPerFrame: 2
mChannelsPerFrame: 1
mBitsPerChannel: 16 }
cookie: {(null)}
ACL: {(null)}
FormatList Array: {(null)}
}
extensions: {(null)}
}
【问题讨论】:
-
请问你是如何以16000的采样率记录的?我已经打电话给
session.setPreferredSampleRate,但我的采样率一直在 44100
标签: ios swift core-media cmsamplebuffer