2017-05-19 21 views
3

カスタムシークバー/トラックバーを追加する必要があります。しかし、問題はvlcドットネットフォームライブラリに関するドキュメントがほとんどないことです。私はWindowsフォームアプリケーションでカスタムシークバーを追加する方法を知る必要があります。c#windowsフォームアプリケーションでシークバーをVLCドットネットフォームに追加する方法

私はvlc activeX plugin *を使用していません。 **むしろ、vlcのドットネットライブラリのnugetパッケージを使用していて、すべて正常に動作しています。私はトグルプレイと一時停止ボタン、停止ボタン、現在の時間を得ることができ、合計時間と他のすべてを得ることができます。しかし、シークバーを追加する方法がわからないので、シークするとビデオがその位置に移動します。 完全なコードで私を助けてください。

+0

あなたはビデオの下にあるトラックバーを動かすことを意味します。 activeXのようなプラグインですか? –

+0

はい。しかし、私はactiveXプラグインを使用していない、むしろ私はドットネットvlcのnugetパッケージを使用しています。 –

+0

あなたの問題を解決しましたか?やった。 –

答えて

2

私は正常に終了しました、それは私にとっては良い練習でした。私はあなたがVlcControl.csクラスであるパブリック・オブジェクトを作成する必要がありformdeneme()メソッド

にメディアを追加しました(民間VlcMediaPlayer myVlcMediaPlayer;)。{非常に重要な}

public int a = 0 ;` 
public int c = 0; 

public formdeneme() 
{ 
    InitializeComponent(); 
    myVlcControl.Play("file:///C:/Users/1315k/Downloads/machine.mp4");   
    // You can add your media like above. 
} 

// This is the main function which you looking. 
private void trackBar1_Scroll(object sender, EventArgs e) 
{       
    myVlcControl.myVlcMediaPlayer.Time = trackBar1.Value * 1000; 
    int b = (int)myVlcControl.myVlcMediaPlayer.Time/1000; 
    int d = b/60; 
    b = b - d * 60; 
    label1.Text = d+":"+b + "/"+ c + ":" + a; 
    // The Time value is milisecond, you have divide 1000 for be second. 
} 

private void formdeneme_Load(object sender, EventArgs e) 
{ 
    a = (int)myVlcControl.myVlcMediaPlayer.Length/1000;   
    trackBar1.Maximum = a; 
    c = a/60; 
    a = a - c * 60;   
    label1.Text = 0 + "/" + c+":"+a;    
} 

をあなたはメディアとトラックバーを変更できるボタンを追加できます。最大値。

+0

大丈夫です。ここでm_mediaControl1はvlcControl1と似ていますが、m_MediaPlayerとは何ですか?どのように初期化しましたか?私はvlcControl1.Time = trackBar1.value * 1000のように使用しているので、私はトラックバーを全く動かすことができません –

+0

はい、あなたは右です。私はコードを更新しました。 VlcControl.csクラスの下にある "private VlcMediaPlayer myVlcMediaPlayer"をパブリックにする必要があります。その後、 "myVlcControl.myVlcMediaPlayer.Time"にアクセスできます。 vlcControl1.Timeを使用しないでください... –

関連する問題