0

マルチチャンネルの Apple Lossless ファイルの特定の構成のエンコードに問題があります。2、4、および 6 チャネル構成では問題ありませんが、12 チャネル ファイルの生成で問題が発生しています。

ExtAudioFile API を使用して、12 チャネルの AudioStreamBasicDescription と 12 チャネルの FileChannelLayout を持つオーディオ ファイルを作成できます。12 チャネルの ClientDataFormat の設定 (クライアント レイアウトを設定する前に行われますが、これも明らかに失敗します) に関しては、「fmt?」エラー コードが表示されます。

ClientDataFormat の AudioStreamBasicDescription は次のように生成されます。

AudioStreamBasicDescription asbd;

asbd.mSampleRate = m_sampleRate;
asbd.mFormatID = kAudioFormatLinearPCM;
asbd.mFormatFlags = kAudioFormatFlagIsFloat;
asbd.mBytesPerPacket = m_channels * 64 / 8;
asbd.mBytesPerFrame = asbd.mBytesPerPacket;
asbd.mFramesPerPacket = 1;
asbd.mBitsPerChannel = 64;
asbd.mChannelsPerFrame = m_channels;
asbd.mReserved = 0;

サンプル レートは 176.4 kHz で、m_channels は正しく設定されています。これは 2、4、および 6 チャンネルのセットアップで適切に機能しているので、問題はないと思います。また、64 ビット浮動小数点数の代わりに 32 ビット符号付き整数を使用してみましたが、結果は同じです。

何が欠けているのかわかりません。Apple Lossless コーデックが 12 チャンネルのエンコーディングをサポートしていない可能性はありますか?

4

1 に答える 1

1

MacOSForge の仕様が決定的かどうかはわかりませんが、http: //alac.macosforge.org/trac/browser/trunk/ReadMe.txt によると

3. From one to eight channels are supported. Channel orders for the supported formats are described as:
            Num Chan        Order
            1               mono
            2               stereo (Left, Right)
            3               MPEG 3.0 B (Center, Left, Right)
            4               MPEG 4.0 B (Center, Left, Right, Center Surround)
            5               MPEG 5.0 D (Center, Left, Right, Left Surround, Right Surround)
            6               MPEG 5.1 D (Center, Left, Right, Left Surround, Right Surround, Low Frequency Effects)
            7               Apple AAC 6.1 (Center, Left, Right, Left Surround, Right Surround, Center Surround, Low Frequency Effects)
            8               MPEG 7.1 B (Center, Left Center, Right Center, Left, Right, Left Surround, Right Surround,  Low Frequency Effects)
于 2013-10-02T02:47:50.183 に答える