2014-12-02 565 views
2

我正在使用AxQTOControlLib.AxQTControl QuickTime C#COM组件在我的软件中显示视频。我想添加字幕到视频。如何将字幕添加到QuickTime电影

我知道,QuickTime文件可以使用下面的字符串格式嵌入字幕:

{QTtext}{font:Arial}{plain}{size:12}{textColor: 65535, 65535, 65535}{backColor: 0, 0, 0} 
{justify:left}{timeScale:15}{width:587}{height:33}{timeStamps:absolute}{language: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 

... 

不幸的是,我无法找到如何文本轨道添加到电影programaticaly任何信息......

我尝试了另一种解决方案,在AxQtControl之上添加透明System.Windows.Form.Label,但透明度不起作用。

有什么想法?

+1

答案可能是某处[这里](http://www.scribd.com/doc/213420749/QuickTime-for-NET-and -COM - 开发商 - QuickTime的开发系列)。 – Sinatr 2014-12-02 12:52:43

+0

事实上,我有这本书的印刷版本,缺少的信息 – 2014-12-02 14:42:01

回答

0

您以前可以将这些文件打开到quicktime播放器(或任何快速播放小工具)中,并且它会自动成为文本曲目。 (就像导入mp3文件变成音轨一样)。你尝试过吗?

一旦它是一个电影曲目,就像其他任何一个一样添加它。

+0

“你像其他人一样添加它”如何? – 2014-12-02 14:46:54

0

也许这样的事情(为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 
+0

我会尝试添加,但我没有'AxQTControl2'只有'AxQTControl' – 2014-12-02 14:47:43

+0

是AXQTControl2的变量名或类型?通用规则是用小写字母开头变量名 – 2014-12-02 15:23:34

+0

以下代码不会将任何文本数据添加到轨道。 – 2014-12-03 10:14:10

相关问题