1

我正在使用 RemoteIO 保存和读取文件。基本上它以 wav 格式存储。这是我用于保存文件的 ASBD

AudioStreamBasicDescription audioFormat;
audioFormat.mSampleRate= graphSampleRate;
audioFormat.mFormatID=kAudioFormatLinearPCM;
audioFormat.mFormatFlags= kAudioFormatFlagIsSignedInteger|kAudioFormatFlagIsPacked;
audioFormat.mBytesPerPacket=bytesPerSample;
audioFormat.mBytesPerFrame=bytesPerSample;
audioFormat.mFramesPerPacket=1;
audioFormat.mChannelsPerFrame=1;
audioFormat.mBitsPerChannel= 8 * bytesPerSample;
audioFormat.mReserved=0;

我使用这个函数来检索帧长度

UInt64 totalFramesInFile = 0;
UInt32 frameLengthPropertySize = sizeof (totalFramesInFile);

result =    ExtAudioFileGetProperty (
                                     audioFileObject,
                                     kExtAudioFileProperty_FileLengthFrames,
                                     &frameLengthPropertySize,
                                     &totalFramesInFile
                                     );

我试图将帧硬编码为 100。我相信音频包含一些数据。我只是不知道为什么它无法读取帧长度。如果我需要提供其他信息,请告诉我。我对核心音频很陌生。我希望有人能帮忙。谢谢

4

0 回答 0