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