博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AVFoundation播放视频时显示字幕,切换音轨
阅读量:6950 次
发布时间:2019-06-27

本文共 1323 字,大约阅读时间需要 4 分钟。

主要用到两个类: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. 添加指定字幕到播放器中。

文/yoolooo(简书作者)
原文链接:http://www.jianshu.com/p/5f147f40f9f3
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
你可能感兴趣的文章
Robotium双client測试框架
查看>>
[CareerCup] 12.6 Test an ATM 测试一个自动取款机
查看>>
[Share]浏览器的历史
查看>>
mySQL中replace的用法
查看>>
Android app 别用中文名
查看>>
关于正则的迷思
查看>>
23.3. DELETE
查看>>
Slider 滑动条效果
查看>>
I.MX6 Android shutdown shell command
查看>>
mysql导入sql文件,乱码,一个例子
查看>>
iOS - NSURLSession 网络请求
查看>>
pandas 修改 DataFrame 列名
查看>>
docker 报Error: docker-engine-selinux conflicts with docker-selinux-1.9.1-25.el7.centos.x86_64
查看>>
<一>dubbo框架学前原理介绍
查看>>
python装饰器 练习
查看>>
MySQL之Lock探索(二)
查看>>
MapReduce实现WordCount
查看>>
JavaScript 常用功能总结
查看>>
3.3. 静态化
查看>>
今天我来炫炫富(r11笔记第45天)
查看>>