Ios ExtAudioFileGetProperty文件长度返回0帧

Ios ExtAudioFileGetProperty文件长度返回0帧,ios,core-audio,Ios,Core Audio,我正在使用RemoteIO保存和读取文件。 基本上它是以wav格式存储的。 这是我用来保存文件的ASBD AudioStreamBasicDescription audioFormat; audioFormat.mSampleRate= graphSampleRate; audioFormat.mFormatID=kAudioFormatLinearPCM; audioFormat.mFormatFlags= kAudioFormatFlagIsSignedInteger|kAudioForma

我正在使用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。我相信音频中包含了一些数据。我只是不知道为什么它不能读取帧的长度。如果我需要提供其他信息,请告诉我。我对核心音频非常陌生。我希望有人能帮忙。谢谢

嗨,肯,你最后解决这个问题了吗?我有一个类似的问题,我总是得到1024帧的文件,但文件更长。在我的例子中,它也是一个普通的2通道,每通道16位WAV文件。嗨,丹尼尔,很抱歉回复晚了。我不记得我是如何解决这个问题的。但在我的记忆中留下的是我忘了写入文件。因此,我只是初始化了这个文件,忘记了一行连接所有内容的代码。我的建议是,先检查文件是否真的保存到磁盘!在进入下一步之前。您可以尝试使用模拟器在finder中访问它。我希望有帮助。