Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于WPF的ActiveX VLC插件不会静音_C#_Wpf_Activex_Vlc - Fatal编程技术网

C# 用于WPF的ActiveX VLC插件不会静音

C# 用于WPF的ActiveX VLC插件不会静音,c#,wpf,activex,vlc,C#,Wpf,Activex,Vlc,我用一个简单的打开文件对话框打开一个视频文件,并通过VLC播放。所有的作品都很棒,但我无法让音量为我的生命静音 System.Windows.Forms.OpenFileDialog ofd = new System.Windows.Forms.OpenFileDialog(); ofd.ShowDialog(); if (ofd.FileName != "") { vlc.addTarget("file:///" + ofd.FileName,

我用一个简单的打开文件对话框打开一个视频文件,并通过VLC播放。所有的作品都很棒,但我无法让音量为我的生命静音

    System.Windows.Forms.OpenFileDialog ofd = new System.Windows.Forms.OpenFileDialog();
    ofd.ShowDialog();
    if (ofd.FileName != "")
    {

       vlc.addTarget("file:///" + ofd.FileName, null,AXVLC.VLCPlaylistMode.VLCPlayListReplaceAndGo, 0);

       vlc.play();
       vlc.AutoLoop = true;
       vlc.Volume = 0;
       vlc.toggleMute();


}
我曾尝试将音量设置为0,但没有成功地切换静音功能。我也尝试过在playEvent中使用静音功能,但运气不佳。有人能解释一下情况吗


编辑:所以,我加入了System.Threading.Thread.Sleep1000;在我打电话之前调整音量和静音。令我惊讶的是,音量在延迟一秒钟后被静音。是否有人对此进行了真正的修复,因为它似乎可能会导致问题/无法在较慢的机器上正常工作

此问题自VLC 2.0.9以来一直存在。 VLC版本2.0.8不需要延迟。 所有版本>2.0.8都需要延迟。。。
解决方案是使用2.0.8版,它工作正常。

这个问题是从VLC2.0.9开始出现的。
/// <summary>
/// Play a filename
/// </summary>
/// <param name="fileName">filename</param>
public void Play(string fileName)
{
    this.VlcControl.Media = new Vlc.DotNet.Core.Medias.PathMedia(fileName);
    Task.Factory.StartNew(this.Mute);
}

/// <summary>
/// Mute audio
/// </summary>
private void Mute()
{            
    this.VlcControl.AudioProperties.IsMute = true;
    if (!this.VlcControl.AudioProperties.IsMute)
    {
        // Retry mute
        Task.Factory.StartNew(this.Mute);
    }
 }
VLC版本2.0.8不需要延迟。 所有版本>2.0.8都需要延迟。。。 解决方案是使用2.0.8版,它运行良好

/// <summary>
/// Play a filename
/// </summary>
/// <param name="fileName">filename</param>
public void Play(string fileName)
{
    this.VlcControl.Media = new Vlc.DotNet.Core.Medias.PathMedia(fileName);
    Task.Factory.StartNew(this.Mute);
}

/// <summary>
/// Mute audio
/// </summary>
private void Mute()
{            
    this.VlcControl.AudioProperties.IsMute = true;
    if (!this.VlcControl.AudioProperties.IsMute)
    {
        // Retry mute
        Task.Factory.StartNew(this.Mute);
    }
 }