在iOS/TVOS上,是否可以从URL加载远程.vtt文件,并将其用作字幕跟踪,同时也从m3u8加载远程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。
发布于 2016-06-21 13:02:02
我在这里发布了一个解决方案:https://stackoverflow.com/a/37945178/171933,基本上你需要使用一个AVMutableComposition来加入视频中的字幕,然后播放这个组合。
发布于 2016-03-08 23:08:07
根据文档的说法,这是可能的
AVAsset是一个抽象类,用于表示视频和声音等定时视听媒体。每个资产包含一组要一起呈现或处理的曲目,每一种都是统一的媒体类型,包括但不限于音频、视频、文本、封闭字幕和字幕。
那么,您应该使用AVMutableComposition来组合资产。您可以将资产与视频和带有字幕的资产结合起来。医生:
您可以将AVAsset对象插入到AVMutableComposition对象中,以便从一个或多个源资产组装视听结构。
https://stackoverflow.com/questions/35879678
复制相似问题