ファイルの保存と読み取りに 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 にハード コードしてみました。オーディオには何らかのデータが含まれていると思います。フレーム長を読み取れなかった理由がわかりません。他の情報を提供する必要がある場合はお知らせください。私はコアオーディオに非常に慣れていません。誰かが助けてくれることを願っています。ありがとう