3

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

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

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

  1. 当没有视频播放时,VLC 插件会在视频播放器屏幕中间显示 VLC 的徽标。如何用我的自定义徽标替换该徽标:

以下是我的代码:

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

如果您对我的问题有答案,请帮助我。提前致谢。

4

1 回答 1

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

    它有 2 个参数:object sender,AxAXVLC.DVLCEvents_MediaPlayerBufferingEvent e

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

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

于 2014-10-17T06:27:01.270 回答