gpt4 book ai didi

c# - 如何使用 VLC 插件获取缓冲视频的状态并修复 c# 中视频播放器中的自定义 Logo

转载 作者:行者123 更新时间:2023-11-30 17:59:00 25 4
gpt4 key购买 nike

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

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

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

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

以下是我的代码:

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. 要获取缓冲状态,请添加事件名称 axVLCPlugin21_MediaPlayerBuffering

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

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

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

关于c# - 如何使用 VLC 插件获取缓冲视频的状态并修复 c# 中视频播放器中的自定义 Logo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11614139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com