我正在使用简单的打开文件对话框打开视频文件并通过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并且没有运气的toggleMute功能。我也试过在playEvent中做静音功能,没有运气。任何人都可以对这种情况有所了解吗?
编辑:所以,在调用音量和静音之前,我在一个System.Threading.Thread.Sleep(1000);
中投掷了。令我惊讶的是,音量在延迟一秒后静音。有没有人对此有一个“真正的”修复,因为它似乎可能导致问题/在较慢的机器上无法正常工作
答案 0 :(得分:2)
自VLC 2.0.9以来会出现此问题。 VLC版本2.0.8不需要延迟。 所有版本> 2.0.8都需要延迟... 解决方案是使用版本2.0.8,它工作正常。
答案 1 :(得分:2)
/// <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);
}
}