我已将Windows Media Player控件嵌入到VBA用户窗体中作为活动X控件。我可以控制视频(开始,停止,暂停等),但无法显示隐藏的字幕/字幕。
看起来我必须使用smi / sami文件,但是我无法正常工作...... MS文档似乎缺乏,更侧重于网页:-(
以下是intellisense提供的4个(必需?)元素,都是字符串:
me.WindowsMediaPlayer1.closedCaption.captioningId
me.WindowsMediaPlayer1.closedCaption.SAMIFileName = path & "cut.smi" ' Got this one
me.WindowsMediaPlayer1.closedCaption.SAMILang
me.WindowsMediaPlayer1.closedCaption.SAMIStyle
因此,鉴于以下SAMI文件,我应该如何配置WMP,以便显示隐藏式字幕?
<SAMI>
<HEAD>
<TITLE>SAMI Example</TITLE>
<SAMIParam>
Media {cut.mp4}
Metrics {time:ms;}
Spec {MSFT:1.0;}
</SAMIParam>
<STYLE TYPE="text/css">
<!--
P { font-family: Arial; font-weight: normal; color: white; background-color: black; text-align: center; }
#Source {color: red; background-color: blue; font-family: Courier; font-size: 12pt; font-weight: normal; text-align: left; }
.ENUSCC { name: English; lang: en-US ; SAMIType: CC ; }
.FRFRCC { name: French; lang: fr-FR ; SAMIType: CC ; }
-->
</STYLE>
</HEAD>
<BODY>
<!-- Open play menu, choose Captions and Subtiles, On if available -->
<!-- Open tools menu, Security, Show local captions when present -->
<SYNC Start=0>
<P Class=ENUSCC ID=Source>The Speaker</P>
<P Class=ENUSCC>SAMI 0000 text</P>
<P Class=FRFRCC ID=Source>French The Speaker</P>
<P Class=FRFRCC>French SAMI 0000 text</P>
</SYNC>
<SYNC Start=1000>
<P Class=ENUSCC>SAMI 1000 text</P>
<P Class=FRFRCC>French SAMI 1000 text</P>
</SYNC>
<SYNC Start=2000>
<P Class=ENUSCC>SAMI 2000 text</P>
<P Class=FRFRCC>French SAMI 2000 text</P>
</SYNC>
<SYNC Start=3000>
<P Class=ENUSCC>SAMI 3000 text</P>
<P Class=FRFRCC>French SAMI 3000 text</P>
</SYNC>
</BODY>
</SAMI>
非常感谢,谢谢。
答案 0 :(得分:0)
没有找到适合我的解决方案,但最终我去了理智检查。
在全屏模式下测试了WMP,但仍然无法播放字幕文件;在发布之前我应该这样做。显然,这与视频格式为mp4 ...
有关真正的理智检查是切换到VLC并且字幕显示没问题,因此smi文件没有问题 - 但也不是我的解决方案。
如果您偶然发现并想要字幕,解决方案似乎正在下载一组特殊的[非MS]编解码器,它们允许WMP显示字幕,但我没有尝试过,因为它也不可行我的解决方案。
MS是如何错过这个超出我的 - 似乎是如此基本,如此微不足道,但你有它。