更改音频流在VideoLan DotNet为WPF
本文关键字:DotNet WPF VideoLan 音频流 | 更新日期: 2023-09-27 18:10:42
我们在WPF应用程序中使用VideoLan DotNet来播放DVD电影。一些电影有多个音频流。(例如多种语言)我们如何选择所需的音频流?
在搜索VideoLan的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);
}
}
但是我在我使用的项目(vc.dotnet)中找不到相同的属性
那么我如何检测有多少音频流并选择一个呢?
我发现如何这样做(mediaPlayer是VlcControl
的一个实例):
我们可以用mediaPlayer.AudioProperties.TrackCount
来计数音频流,用mediaPlayer.AudioProperties.Track
来选择索引。
现在有办法得到他们的描述吗?(他们通常有一个名字,比如"English")
我使用VLC控件在Windows的形式和我的工作代码
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;
}
我希望能帮到你。