AudioStreamBasicDescription

AudioStreamBasicDescription

我想从音频文件中读取AudioStreamBasicDescription,如下所示

AudioStreamBasicDescription asdb;
UInt32 propSize = sizeof(asdb);

OSStat stat = ExtAudioFileGetProperty(_audioFile,
                                      kExtAudioFileProperty_FileDataFormat,
                                      &propSize,
                                      &asdb);

正常工作,除了mBytesPerFramemBitsPerChannelmBytesPerPacket以外的所有字段均已正确设置。

为什么不设置这些字段?

这就是AudioStreamBasicDescription的字段的样子
TotalFrames: 2628360
BitsPerChannel: 0
BytesPerFrame: 0
BytesPerPacket: 0
ChannelsPerFrame: 2
FormatFlags: 0
FormatID: aac
FramesPerPacket: 1024
SampleRate: 44100

最佳答案

看一下CoreAudioTypes.h中AudioStreamBasicDescription上方的注释。它说明了如何根据格式来填充某些字段。由于AAC是压缩格式,因此并非所有字段都可以计算,因此将其返回为0。

关于ios - ExtAudioFileGetProperty返回具有零帧大小的AudioStreamDescription,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22401442/

10-11 20:26