从AVAsset中查找通道数

Tur*_*age 4 iphone core-audio ios4 ios

我正在通过AVAssets加载音频资产.我想弄清楚资产中有多少通道(基本上是单声道或立体声).做这个的最好方式是什么?

Tur*_*age 8

这似乎是我在寻找的.

AVAssetTrack* songTrack = [mAssetToLoad.tracks objectAtIndex:0];
NSArray* formatDesc = songTrack.formatDescriptions;
for(unsigned int i = 0; i < [formatDesc count]; ++i) {
    CMAudioFormatDescriptionRef item = (CMAudioFormatDescriptionRef)[formatDesc objectAtIndex:i];
    const AudioStreamBasicDescription* bobTheDesc = CMAudioFormatDescriptionGetStreamBasicDescription (item);
    if(bobTheDesc && bobTheDesc->mChannelsPerFrame == 1) {
        mIsMono = true;
    }
}
Run Code Online (Sandbox Code Playgroud)