我们正在使用VideoLan DotNet for WPF在我们的WPF应用程序中播放DVD电影。有些电影有多个音频流。 (例如,用多种语言)我们如何选择所需的音频流?
在搜索VideoLan's Wiki时,我发现了这一点:
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int AudioTrack
{
get
{
return this.nativeVlc.GetVlcObjectInt(ObjectType.VLC_OBJECT_INPUT, "audio-es", -1);
}
set
{
this.nativeVlc.SetVlcObjectInt(ObjectType.VLC_OBJECT_INPUT, "audio-es", value);
}
}
但我在我正在使用的项目(Vlc.DotNet)中找不到相同的属性 那么如何检测存在多少音频流并选择一个呢?
答案 0 :(得分:0)
我发现了如何操作(mediaPlayer是VlcControl
的一个实例):
我们可以使用mediaPlayer.AudioProperties.TrackCount
计算音频流,并使用mediaPlayer.AudioProperties.Track
选择索引
现在有什么方法可以得到他们的描述吗? (他们通常有一个名字,如"英语")
答案 1 :(得分:0)
我正在使用Windows窗体中的VLC控件和我的工作代码
private void karaokeToolStripMenuItem_Click(object sender, EventArgs e)
{
// MessageBox.Show(axVLCPlugin21.audio.count.ToString(), "audio track");
if (axVLCPlugin21.audio.track == 1)
{
try
{
axVLCPlugin21.audio.track = 2;
}
catch (Exception ex)
{
// show Exception here by messageBox or other
//if there are exceptions, the file has only one track
}
}
else
axVLCPlugin21.audio.track = 1;
}
我希望能帮助你。