2017-10-10 29 views
0

AVAssetTrack에서 mediaType을 가져 오려고하지만이 로그 중 하나를 얻지 못합니다.AVAssetTrack의 MediaType을 쿼리 할 수 ​​없습니다.

AVAssetTrack *track1 = cell.videoPlayer.currentItem.asset.tracks.firstObject; 

        if (track1.mediaType == AVMediaTypeAudio) { 

         NSLog(@"AVMediaTypeAudio"); 

        } 

        if (track1.mediaType == AVMediaTypeVideo) { 

         NSLog(@"AVMediaTypeVideo"); 

        } 

하지만 여기에는 트랙 (배열)의 로그가 있습니다. 이것은 내가 필요로하는 정보를 보여 주지만 그것을 질의 할 수는 없다.

NSLog(@"%lu: %@", indexPath.row ,cell.videoPlayer.currentItem.asset.tracks); 

"<AVAssetTrack: 0x1c0018ff0, trackID = 1, mediaType = soun>", 
"<AVAssetTrack: 0x1c0018d90, trackID = 2, mediaType = vide>" 

내가 잘못 했습니까?

답변

2

시도 isEqual 메서드입니다.

AVAssetTrack *track1 = cell.videoPlayer.currentItem.asset.tracks.firstObject; 

if ([track1.mediaType isEqual:AVMediaTypeAudio]) { 

    NSLog(@"AVMediaTypeAudio"); 

} 

if ([track1.mediaType isEqual:AVMediaTypeVideo]) { 

    NSLog(@"AVMediaTypeVideo"); 

}