在 winform 应用程序中嵌入 LIb.VLC

Embedding LIb.VLC in winform Application

这个问题参考了我之前的问题

我想 运行 播放器播放一段时间,在此期间视频应该重复播放。当前代码如下所示...

Core.Initialize();
            var libvlc = new LibVLC();
            // Make VideoView control
            VideoView vv = new VideoView();
            vv.MediaPlayer = new MediaPlayer(libvlc);
            vv.Dock = DockStyle.Fill;
            // Add it to the form
            Controls.Add(vv);

            var uri = new Uri(@"C:\vid.3gp");
            // Use command line options as Options for media playback (https://wiki.videolan.org/VLC_command-line_help/)
            var media = new Media(libvlc, uri, ":input-repeat=65535");
            vv.MediaPlayer.Play(media);

            //Set fullscreen
            this.FormBorderStyle = FormBorderStyle.None;
            this.Size = Screen.PrimaryScreen.Bounds.Size;
            this.Location = Screen.PrimaryScreen.Bounds.Location;

如何在一定时间后关闭播放器。目前,即使我关闭带有播放器的表单,视频也会继续在后台播放,直到我关闭整个应用程序。

特此通知此 winform 应用程序是在 .netcore3.1 中创建的。

此致。

将 MediaPlayer 创建为 class 字段并在您的 WinForm 应用程序中调用它 start/pause/stop。

private LibVLC _libVlc;
private MediaPlayer _mediaPlayer;
...

// Call this method in your constructor/initializer
private void StartMediaPlayer(string videoUrl)
{
    using var media = new Media(_libVlc, new Uri(videoUrl), ":input-repeat=65535");
    _mediaPlayer = new MediaPlayer(_libVlc)
    {
        Media = media
    };

    _mediaPlayer.Play();
}

// Method to stop media player
private void button1_Click(object sender, EventArgs e)
{
    _mediaPlayer.Stop();
}