2 つのオーディオ ファイルをミキシングすると、このコードでは一方のサウンドがステレオ サウンドとして扱われ、もう一方のサウンドがモノラルとして扱われます。なぜですか? 両方ともステレオとして扱われないのはなぜですか?
@property (readwrite) AudioStreamBasicDescription stereoStreamFormat;
@property (readwrite) AudioStreamBasicDescription monoStreamFormat;
オーディオファイルのチェックはこんな感じ。
if ((inputDataFormat.mFormatID == kAudioFormatLinearPCM) &&
(inputDataFormat.mSampleRate == 44100.0) &&
(inputDataFormat.mChannelsPerFrame == 2) &&
(inputDataFormat.mChannelsPerFrame == 2) &&
(inputDataFormat.mBitsPerChannel == 16) &&
(inputDataFormat.mFormatFlags == (kAudioFormatFlagsNativeEndian |
kAudioFormatFlagIsPacked | kAudioFormatFlagIsSignedInteger))
) {
// no-op when the expected data format is found
} else {
status = kAudioFileUnsupportedFileTypeError;
goto reterr;
}
そのデータ形式が検出されたときに、no-op 条件がトリガーされるのはなぜですか?