2013-12-17 37 views
1

我正在使用一個簡單的打開文件對話框打開一個視頻文件並通過VLC播放它。所有的作品都很棒,但我無法讓音量在我的生活中靜音。WPF的ActiveX 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);。令我驚訝的是,音量在延遲一秒後靜音。有沒有人有一個「真正的」修復,因爲它似乎可能會導致問題/在慢機器上無法正常工作

回答

2

自VLC 2.0.9以來,此問題一直髮生。 VLC 2.0.8版本需要延遲。 所有版本> 2.0.8需要延遲... 解決方案是使用版本2.0.8,它工作正常。

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); 
    } 
}