809
社区成员
发帖
与我相关
我的任务
分享
Dim WMPAudioLanguage As IWMPControls3
Set WMPAudioLanguage = WindowsMediaPlayer1.Controls
'获取所有语言音轨
If WMPAudioLanguage.audioLanguageCount > 1 Then
PlayScreen.AudioLanguageList.Visible = True
For i = 1 To WMPAudioLanguage.audioLanguageCount
'获取语言音轨名称
If i <= 1 Then
PlayScreen.AudioLanguageNumber(i - 1).Caption = "Audio " & i & ":" & WMPAudioLanguage.getLanguageName(WMPAudioLanguage.getAudioLanguageID(i))
PlayScreen.AudioLanguageNumber(i - 1).Visible = True
Else
Load PlayScreen.AudioLanguageNumber(i - 1)
PlayScreen.AudioLanguageNumber(i - 1).Caption = "Audio " & i & ":" & WMPAudioLanguage.getLanguageName(WMPAudioLanguage.getAudioLanguageID(i))
PlayScreen.AudioLanguageNumber(i - 1).Visible = True
End If
Debug.Print "语言数:" & WMPAudioLanguage.audioLanguageCount & " 语言:" & i & WMPAudioLanguage.getLanguageName(WMPAudioLanguage.getAudioLanguageID(i)) & " 描述:" & WMPAudioLanguage.getAudioLanguageDescription(i)
Next
For i = 1 To WMPAudioLanguage.audioLanguageCount
If (InStr(1, WMPAudioLanguage.getLanguageName(WMPAudioLanguage.getAudioLanguageID(i)), "中国") > 0) Or ((InStr(1, LCase(WMPAudioLanguage.getLanguageName(WMPAudioLanguage.getAudioLanguageID(i))), "chinese") > 0)) Or ((InStr(1, LCase(WMPAudioLanguage.getLanguageName(WMPAudioLanguage.getAudioLanguageID(i))), "简体") > 0)) Then
WMPAudioLanguage.currentAudioLanguageIndex = i
PlayScreen.AudioLanguageNumber(i - 1).Checked = True
Exit For
End If
Next
End If