4

私は 3 か月間だけの初心者の Mac プログラマーです。Audio Queue Services の問題が発生しました。誰か助けてください。

Audio Queue Services API を使用して録音プログラムを作成し、AAC 形式のデータを出力しました。よさそうです、すべてうまくいきます。

MP4V2ライブラリ (オープン ソース ライブラリ) を使用して .mp4 ファイルを出力するまで、問題が発生します。

問題 1:

MP4V2 ライブラリ関数MP4WriteSample()に入力するための AAC ヘッダーとして マジック クッキーを使用します。.mp4 ファイル内にデータがありますが、プレーヤー (ex:Quicktime)は .mp4 ファイルを認識できず、オーディオ データを再生できません


問題 2:

Audio Queue の基本的な説明形式を次のように設定しました。

    aqData.mDataFormat.mSampleRate = 44100.0;
    aqData.mDataFormat.mFormatID = kAudioFormatMPEG4AAC;  // AAC codec.
    aqData.mDataFormat.mChannelsPerFrame = 2;
    aqData.mDataFormat.mFramesPerPacket = 1024;

AudioQueueGetProperty() を使用してマジック クッキーを取得します。

次のように、マジック クッキーの内容を出力します。

    <03808080 22000000 04808080 14401500 18000001 f4000001 f4000580 80800212 10068080 800102>

合計 39 バイト。

正確にはどういう意味ですか?

それぞれが表す 39 バイトの意味は何ですか?

AACヘッダーに変換できますか?

参照 :

音声ファイルにマジック Cookie を設定する

再生オーディオ キューのマジック Cookie を設定する

CoreAudio - 再生中の aac ファイルの終了を判断する方法


どうもありがとう。

ライアン

4

1 に答える 1

0

ファイルタイプを kAudioFileM4AType に設定

AudioFileCreateWithURL (
            audioFileURL,
            kAudioFileM4AType,
            &audioFormat,
            kAudioFileFlags_EraseFile,
            &audioFileID
    );
于 2012-02-21T09:43:21.527 に答える