无法查询AVAssetTrack的媒体类型
问题描述:
我试图从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>"
我做错了什么?
答
尝试isEqual方法。
AVAssetTrack *track1 = cell.videoPlayer.currentItem.asset.tracks.firstObject;
if ([track1.mediaType isEqual:AVMediaTypeAudio]) {
NSLog(@"AVMediaTypeAudio");
}
if ([track1.mediaType isEqual:AVMediaTypeVideo]) {
NSLog(@"AVMediaTypeVideo");
}