vlc 播放器


1 调用VLC的dll,简单的实现一下功能 1 视频播放 2 视频暂停 3 视频关闭 4 视频快进 5 视频截图 2 效果图
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace vlc.net
{
    public partial class Dialog : Form
    {
        private VlcPlayer vlc_player_;
        
        private bool is_playinig_;

        public Dialog()
        {
            InitializeComponent();

            string pluginPath = System.Environment.CurrentDirectory + “\vlc\plugins\“;
            vlc_player_ = new VlcPlayer(pluginPath);
            IntPtr render_wnd = this.panel1.Handle;
            vlc_player_.SetRenderWindow((int)render_wnd);

            

            tbVideoTime.Text = “00:00:00/00:00:00“;

            is_playinig_ = false;
        }

        private void btnStart_Click(object sender EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                vlc_player_.PlayFile(ofd.FileName);
                trackBar1.SetRange(0 (int)vlc_player_.Duration());
                trackBar1.Value = 0;
                timer1.Start();
                is_playinig_ = true;
            }

        }

        private void btnReset_Click(object sender EventArgs e)
        {
            if (is_playinig_)
            {
                vlc_player_.Stop();
                trackBar1.Value = 0;
                timer1.Stop();
                is_playinig_ = false;
            }


        }

        private void timer1_Tick(object sender EventArgs e)
        {
            if (is_playinig_)
            {
                if (trackBar1.Value == trackBar1.Maximum)
                {
                    vlc_player_.Stop();
                    timer1.Stop();
                }
                else
                {
                    trackBar1.Value = trackBar1.Value + 1;
                    tbVideoTime.Text = string.Format(“{0}/{1}“ 
                    GetTimeString(trackBar1.Value) 
                    GetTimeString(trackBar1.Maximum));
                }
            }


            

        }

        private string GetTimeString(int val)
        {
            int hour = val / 3600;
            val %= 3600;
            int minute = val / 60;
            int second = val % 60;
            return string.Format(“{0:00}:{1:00}:{2:00}“ hour minute second);
        }

        private void trackBar1_Scroll(object sender EventArgs e)
        {
            if (is_playinig_)
            {
                vlc_player_.SetPlayTime(trackBar1.Value);
                trackBar1.Value = (int)vlc_player_.GetPlayTime();
            }
        }

        private void btnPlay_Click(object sender EventArgs e)
        {
           
        }

        private void btnPause_Click(object sender EventArgs e)
        {
          

            vlc_player_.

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-11-25 19:15  VlcPlayer
     文件        9030  2015-11-25 19:06  VlcPlayerDialog.Designer.cs
     文件        3499  2015-11-25 19:06  VlcPlayerDialog.cs
     文件        6184  2015-11-25 19:06  VlcPlayerDialog.resx
     文件         480  2015-10-28 13:38  VlcPlayerProgram.cs
     目录           0  2015-11-25 19:14  VlcPlayerProperties
     文件        1426  2011-06-29 14:55  VlcPlayerPropertiesAssemblyInfo.cs
     文件        2842  2011-06-29 14:55  VlcPlayerPropertiesResources.Designer.cs
     文件        5612  2011-06-29 14:55  VlcPlayerPropertiesResources.resx
     文件        1092  2011-06-29 14:55  VlcPlayerPropertiesSettings.Designer.cs
     文件         249  2011-06-29 14:55  VlcPlayerPropertiesSettings.settings
     文件       12875  2015-10-29 15:58  VlcPlayerVlcPlayer.cs
     文件        3466  2015-10-28 13:42  VlcPlayerVlcPlayer.csproj
     文件      102400  2011-04-12 08:45  VlcPlayerlibvlc.dll
     文件     2279936  2011-04-12 08:45  VlcPlayerlibvlccore.dll

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)