Home > Software engineering >  I use Windows WMP control to realize the video track switch, also want to realize switch subtitles,
I use Windows WMP control to realize the video track switch, also want to realize switch subtitles,

Time:11-06

I use Windows WMP control to realize the video track switch, use the WMP object library interface IWMPControls3
, also want to realize switch subtitles, didn't find the subtitles operation interface object repository, too depressed, the master who know? If what you want to install the plugin will have, I don't know,

I want to own caption operation, don't want to go to some DirectVobSub tray icon menus, that is something else:

 Dim WMPAudioLanguage As IWMPControls3 
The Set WMPAudioLanguage=WindowsMediaPlayer1. Controls,
Obtain all language tracks
'If WMPAudioLanguage. AudioLanguageCount & gt; 1 Then
PlayScreen. AudioLanguageList. Visible=True
For I=1 To WMPAudioLanguage. AudioLanguageCount
Get the audio language name
If I & lt;=1 Then
PlayScreen. AudioLanguageNumber (I - 1). The Caption="Audio" & amp; I & amp; ":" & amp; WMPAudioLanguage. GetLanguageName (WMPAudioLanguage. GetAudioLanguageID (I))
PlayScreen. AudioLanguageNumber (I - 1). The Visible=True
The Else
The Load PlayScreen. AudioLanguageNumber (I - 1)
PlayScreen. AudioLanguageNumber (I - 1). The Caption="Audio" & amp; I & amp; ":" & amp; WMPAudioLanguage. GetLanguageName (WMPAudioLanguage. GetAudioLanguageID (I))
PlayScreen. AudioLanguageNumber (I - 1). The Visible=True
End the If
The Debug. Print "language:" & amp; WMPAudioLanguage. AudioLanguageCount & amp; "Language:" & amp; I & amp; WMPAudioLanguage. GetLanguageName (WMPAudioLanguage. GetAudioLanguageID (I)) & amp; Description: "" & amp; WMPAudioLanguage. GetAudioLanguageDescription (I)
Next
For I=1 To WMPAudioLanguage. AudioLanguageCount
If (InStr (1, WMPAudioLanguage. GetLanguageName (WMPAudioLanguage. GetAudioLanguageID (I)), "China") & gt; 0) Or ((InStr (1, LCase (WMPAudioLanguage. GetLanguageName (WMPAudioLanguage. GetAudioLanguageID (I))), "Chinese") & gt; 0)) Or ((InStr (1, LCase (WMPAudioLanguage. GetLanguageName (WMPAudioLanguage. GetAudioLanguageID (I))), "simplified Chinese") & gt; 0)) Then
WMPAudioLanguage. CurrentAudioLanguageIndex=I
PlayScreen. AudioLanguageNumber (I - 1) Checked=True
The Exit For
End the If
Next
End the If
  • Related