如何为 Flash 视频加载字幕文本?
Posted
技术标签:
【中文标题】如何为 Flash 视频加载字幕文本?【英文标题】:How to load Subtitle text for Flash Video? 【发布时间】:2015-07-13 13:05:32 【问题描述】:视频播放器是使用 Flash 动作脚本 3.0 中的“视频”创建的。并使用网络流播放视频。示例代码为:
connection = new NetConnection();
connection.connect(null);
关于连接成功流和播放视频。
stream = new NetStream(connection);
video = new Video();
video.width = stage.stageWidth;
video.height = stage.stageHeight;
video.attachNetStream(stream);
stream.play(videoURL);
视频播放正常。我想显示视频的字幕。我有 .srt 格式的视频文件,as3 中的任何解决方案都可以为 Flash 上的视频加载 SRT。
【问题讨论】:
编写自己的解析器。 您看过记事本中的 SRT 吗?它只是带有时间码和相关文本的文本文件。您可以 Google search 使用基于 AS3 的 SRT 文件解析器,或者通过跟踪视频时间码并使用 enterFrame 检查 video_timecode == expected_SRT_Text_time (如 SRT 文件中的时间编码)自行完成并显示这样的文字.. 【参考方案1】:编写 .srt 解析器并不难。使用 AS3 提供的CuePoint
API 在运行时向您的Video
实例添加提示点。然后监听onCuePoint
事件并在文本字段中显示相关文本。
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
var client = ;
client.onCuePoint = function(info:Object):void
var key:String;
for (key in info)
trace(key + ": " + info[key]);
;
ns.client = client;
var vid:Video = new Video();
vid.attachNetStream(ns);
addChild(vid);
ns.play("video.flv");
您可以在屏幕上的文本字段中显示文本,而不是跟踪输出。
【讨论】:
以上是关于如何为 Flash 视频加载字幕文本?的主要内容,如果未能解决你的问题,请参考以下文章