2014-12-02 82 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