无法查询AVAssetTrack的MediaType

时间:2017-10-10 15:20:00

标签: xcode avfoundation avasset

我正在尝试从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>"

我做错了吗?

1 个答案:

答案 0 :(得分:2)

尝试isEqual方法。

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

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

    NSLog(@"AVMediaTypeAudio");

}

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

    NSLog(@"AVMediaTypeVideo");

}