2011-08-03 8 views
4

AVAssets経由でオーディオアセットを読み込んでいます。私はいくつのチャンネル(基本的にモノラルかステレオか)が資産にあるかを把握したいと思います。これを行う最善の方法は何ですか?AVAssetからのチャンネル数の確認

答えて

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; 
    } 
} 
関連する問題