如何使用VLC插件获取缓存视频的状态并在c#中修复视频播放器中的自定义徽标

时间:2012-07-23 14:05:18

标签: c# video rtsp vlc buffering

我正在开发基于Window的计算机的视频播放器,它可以播放来自任何地址的在线流媒体视频,例如RTSP://live.example.com/live/mystream

为此我正在使用VLC的插件。

我有两个问题: 1.如何获取视频播放器是否开始缓冲的状态。如果是,则将缓冲显示为进度。

  1. VLC插件在视频plyer屏幕中间显示VLC的徽标,此时没有播放视频。如何用我的自定义徽标替换该徽标:
  2. 以下是我的代码:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.Net.NetworkInformation;
    using SikhPlayer;
    using System.Windows;
    
    
    namespace SikhPlayer
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
    
                InitializeComponent();
                       }
    
    
    
            public void Form1_Load(object sender, EventArgs e)
            {
    
                InitializeComponent();
                System.Threading.Thread.Sleep(500);
    
                //axVLCPlugin21.BringToFront();
                axVLCPlugin21.video.logo.file("http://localhost/logo.png");
                axVLCPlugin21.video.logo.opacity = 50;
                axVLCPlugin21.video.logo.Position = "center";
                axVLCPlugin21.video.logo.enable();
    
    
                    axVLCPlugin21.AutoPlay = false;
    
            }
    
                private void button1_Click(object sender, EventArgs e)
            {
               axVLCPlugin21.playlist.playItem(@"rtsp://ip.example.com:1935/live/mystream);
    
    
                 axVLCPlugin21.Focus();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                axVLCPlugin21.playlist.stop();
            }
        }
    }
    

    如果您回答我的问题,请帮助我。 在此先感谢。

1 个答案:

答案 0 :(得分:1)

  1. 要获取缓冲状态,请添加事件名称axVLCPlugin21_MediaPlayerBuffering

    它有两个参数:object senderAxAXVLC.DVLCEvents_MediaPlayerBufferingEvent e

    您可以使用e.cache的值来获取缓冲状态。它的值范围从0到100.它类似于缓冲视频的百分比。

  2. 如果我没错,我想你不能。但是,您可以在视频插件上添加picturebox并使用缓冲状态(如上所述)或其他事件(如MediaPlayerPlaying等)来制作picturebox visible或隐身。