主要用到两个类:AVMediaSelectionGroup 和 AVMediaSelectionOption
调用 AVAsset对象的availableMediaCharacteristicsWithMediaSelectionOptions会返回一个数组,这个数组包含视频中备用的媒体资源,AVMediaCharacteristicLegible字幕资源,AVMediaCharacteristicAudible 音轨资源,AVMediaCharacteristicVisual 视频资源。
显示字幕和切换音轨方法都是一样的,这里以显示字幕为例:
1. AVMediaSelectionGroup*group =[asset mediaSelectionGroupForMediaCharacteristic:AVMediaCharacteristicLegible];
for(AVMediaSelectionOption*option in group.options) {
NSLog(@"%@",option.displayName);
}
NSLocale*locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];
2. NSArray*options = [AVMediaSelectionGroup mediaSelectionOptionsFromArray:group.options withLocale:locale];
3. [playItem selectMediaOption:options.firstObject inMediaSelectionGroup:group];
1.获取可用的字幕资源。
2016-03-03 15:08:15.438 VideoPlayer[13403:1004146]英文
2016-03-03 15:08:15.441 VideoPlayer[13403:1004146]英文Forced
2016-03-03 15:08:15.441 VideoPlayer[13403:1004146]意大利文
2016-03-03 15:08:15.442 VideoPlayer[13403:1004146]意大利文Forced
2016-03-03 15:08:15.442 VideoPlayer[13403:1004146]葡萄牙文
2016-03-03 15:08:15.443 VideoPlayer[13403:1004146]葡萄牙文Forced
2016-03-03 15:08:15.443 VideoPlayer[13403:1004146]俄文
2016-03-03 15:08:15.443 VideoPlayer[13403:1004146]俄文Forced
2.获取指定地区的字幕资源。
3. 添加指定字幕到播放器中。