zoukankan      html  css  js  c++  java
  • AVFoundation播放视频时显示字幕,切换音轨

    主要用到两个类: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
    著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
  • 相关阅读:
    SQL优化索引
    如何减轻工作压力(一)
    奥巴马对美国影响最大的十句话
    10种职场潜规则
    Linux中的7件武器详解
    linux时间同步,ntpd、ntpdate
    Style中Position属性详解
    vsftp配置大全超完整版
    Linux 技巧:使用 screen 管理你的远程会话
    MySQL下mysql.sock丢失问题的解决
  • 原文地址:https://www.cnblogs.com/machao/p/5484371.html
Copyright © 2011-2022 走看看