Нахождение количества каналов от AVAsset - PullRequest
4 голосов
/ 03 августа 2011

Я загружаю аудио активы через AVAssets.Я хочу выяснить, сколько каналов (в основном, моно или стерео) находятся в активе.Каков наилучший способ сделать это?

1 Ответ

8 голосов
/ 23 августа 2011

Кажется, это то, что я ищу.

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;
    }
}
...