如何为 QuickTime 电影添加字幕
Posted
技术标签:
【中文标题】如何为 QuickTime 电影添加字幕【英文标题】:How to add subtitles to a QuickTime movie 【发布时间】:2014-12-02 12:23:30 【问题描述】:我正在使用 AxQTOControlLib.AxQTControl QuickTime C# COM 组件在我的软件中显示视频。我想为视频添加字幕。
我知道 quicktime 文件可以使用以下字符串格式嵌入字幕:
QTtextfont:Arialplainsize:12textColor: 65535, 65535, 65535backColor: 0, 0, 0
justify:lefttimeScale:15width:587height:33timeStamps:absolutelanguage:0
textEncoding:256
[0:00:00.10]
I said hello, Dolly,
[0:00:03.10]
Well, hello, Dolly
[0:00:06.20]
It's so nice to have you back where you belong
...
不幸的是,我找不到任何有关如何以编程方式将此文本轨道添加到电影的信息...
我尝试了另一种解决方案,包括在AxQtControl
上方添加透明System.Windows.Form.Label
,但透明度不起作用。
有什么想法吗?
【问题讨论】:
答案可能在某处here。 其实我有这本书的印刷版,但资料欠缺 【参考方案1】:您以前可以将这些文件打开到 quicktime 播放器(或任何 quicktime 播放小工具)中,它会自动变成一个文本轨道。 (就像导入 mp3 文件变成音轨一样)。你试过吗?
一旦成为电影曲目,您就可以像添加其他曲目一样添加它。
【讨论】:
“你添加它就像任何其他”如何?【参考方案2】:也许是这样的(对 VB 感到抱歉):
With AxQTControl2.Movie
Dim trkSubtitle As QTTrack = .Tracks(.Tracks.Count)
If Not trkSubtitle Is Nothing Then
trkSubtitle.top = .Height - trkSubtitle.Height
trkSubtitle.TransferMode = QTTransferModesEnum.qtTransferModeBlend
trkSubtitle.OperationColor = "32768, 32768, 32768"
trkSubtitle.HighQualityMode = True
End If
.Time = 0
.SelectionDuration = 0
End
【讨论】:
我会尝试添加,但我没有AxQTControl2
只有AxQTControl
AXQTControl2 是变量名还是类型?常见的规则是变量名以小写字母开头
以下代码不会向轨道添加任何文本数据。以上是关于如何为 QuickTime 电影添加字幕的主要内容,如果未能解决你的问题,请参考以下文章