【问题标题】:AVUrlAsset and WebVTTsAVUrlAsset 和 WebVTT
【发布时间】:2016-03-08 22:55:03
【问题描述】:

在 iOS/TVOS 上,是否可以从 URL 加载远程 .vtt 文件并将其用作字幕轨道,同时从 URL 加载远程 HLS 视频(与在 m3u8 播放列表中指定的 VTT 不同) )?

伪代码:

AVAsset* video_asset = AVAsset( "http://video.m3u8" );
AVAsset* subtitle_asset = AVAsset( "http://subtitle.vtt" );
AVPlayer player = player.playVideoWithSubtitle( video_asset, subtitle_asset );
player.play().

编辑:

文档提到使用 AVAsset 作为字幕,但实际上有人有例子吗?我只能找到关于添加字符串作为字幕而不是加载远程 VTT 的示例。

【问题讨论】:

    标签: ios tvos webvtt


    【解决方案1】:

    我在这里发布了一个解决方案:https://stackoverflow.com/a/37945178/171933 基本上你需要使用AVMutableComposition 来加入带字幕的视频,然后播放该作品。

    【讨论】:

      【解决方案2】:

      根据docs,这是可能的

      AVAsset 是一个抽象类,用于表示定时视听媒体,例如 作为视频和声音。每个资产都包含一组轨道,这些轨道 旨在一起呈现或处理,每个统一 媒体类型,包括但不限于音频、视频、文字、封闭式 字幕和字幕

      您应该使用AVMutableComposition 来合并资产。您可以将资产与视频与带有字幕的资产结合起来。文档:

      您可以将 AVAsset 对象插入到 AVMutableComposition 对象中 为了从一个或多个来源组装视听结构 资产。

      【讨论】:

      • 你能举个例子吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多