2017-10-10 113 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"); 

}