2017-10-10 111 views
0

我试图从AVAssetTrack获取mediaType,但我从来没有得到这些日志之一。无法查询AVAssetTrack的媒体类型

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"); 

}