4

AVSampleRateKey を 44100.0 とし、.caf として保存した AVAudioRecorder を使用してオーディオ録音機能を実装しました。オーディオが録音されたら、ユーザーが必要に応じて両端からオーディオをトリミングできるようにしたいと考えています。これを実装するのを手伝ってもらえますか?

私の場合、AVSampleRateKey は 44100.0 であるため、44100 バイトは 1 秒の記録を表します。右?したがって、これらの多くのバイトを最後から削除すると、オーディオは最後にトリミングされます。しかし、最初からトリミングして、ヘッダーがそのまま残るようにするには、何バイトスキップする必要がありますか?

チュートリアル/ドキュメントを教えていただければ幸いです。

事前にどうもありがとう

4

2 に答える 2

1

通常、CAF ファイルのヘッダーには、データ チャンクの長さに関する情報と、ファイルの整合性のために一貫性を保つ必要があるその他のデータが含まれています。ファイルの末尾からバイトを削除するだけでは、他のアプリからは破損したファイルのように見えます。ExtAudioFile を使用してファイルにアクセスすると、オーディオ ファイルを読み取ってサンプル データを取得し、端を切り取った新しいオーディオ ファイルを書き込むことができるはずです。

于 2009-12-30T23:32:42.137 に答える
0

拡張オーディオ ファイル サービスを使用できます。ExtAudioFileRead & ExtAudioFileWrite (サンプル コードがあります) のリファレンスを見て、1 つのオーディオ ファイルを開き、それを読み込んでトリミングし、新しいファイルを書き込むことができます。こちらhttp://developer.apple.com/library/ios /#documentation/MusicAudio/Reference/ExtendedAudioFileServicesReference/Reference/reference.html

于 2011-06-10T07:50:00.993 に答える