C#Vlc形式的体积稳定问题

问题描述 投票:0回答:1

我在我的项目中使用Vlc.DotNet.Forms包。我在表格上打开了一个视频。一切都好。但是如果我想再次打开视频。当我更改音量时,两个视频的音量都会更改。

我的代码示例:


     public VlcControl control;
     public void Player(string url,int volume){         
            this.control = new VlcControl();
            var currentAssembly = Assembly.GetEntryAssembly();
            var currentDirectory = new FileInfo(currentAssembly.Location).DirectoryName;
            var libDirectory = new DirectoryInfo(Path.Combine(currentDirectory, "libvlc", IntPtr.Size == 4 ? "win-x86" : "win-x64"));
            control.BeginInit();
            control.VlcLibDirectory = libDirectory;
            control.Dock = DockStyle.Fill;
            control.EndInit();
            this.Controls.Add(control);
            control.SetMedia(new Uri(@"" + url + ""));
            control.Audio.Volume=volume;
            control.Play();
            }

例如

    Player("C:\\test\video1.mp4",50);
    Player("C:\\test\video2.mp4",75);

第一个视频打开,音量变为50。然后,当我打开第二个视频时,两个视频的音量均为75。

我使用这些包

c# .net winforms vlc libvlc
1个回答
0
投票

这似乎是libvlc 3.x的已知问题。

解决方法是使用其他音频输出。在Vlc.DotNet中,您可以这样操作:

control.VlcMediaplayerOptions = new []{ "--aout=directsound" };

control.EndInit();之前。

参考:

https://forum.videolan.org/viewtopic.php?t=147229

https://github.com/ZeBobo5/Vlc.DotNet/issues/524

© www.soinside.com 2019 - 2024. All rights reserved.