我正在开发基于Window的计算机的视频播放器,它可以播放来自任何地址的在线流媒体视频,例如RTSP://live.example.com/live/mystream
为此我正在使用VLC的插件。
我有两个问题: 1.如何获取视频播放器是否开始缓冲的状态。如果是,则将缓冲显示为进度。
以下是我的代码:
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();
}
}
}
如果您回答我的问题,请帮助我。 在此先感谢。
答案 0 :(得分:1)
要获取缓冲状态,请添加事件名称axVLCPlugin21_MediaPlayerBuffering
它有两个参数:object sender
,AxAXVLC.DVLCEvents_MediaPlayerBufferingEvent e
您可以使用e.cache
的值来获取缓冲状态。它的值范围从0到100.它类似于缓冲视频的百分比。
如果我没错,我想你不能。但是,您可以在视频插件上添加picturebox
并使用缓冲状态(如上所述)或其他事件(如MediaPlayerPlaying
等)来制作picturebox visible
或隐身。