c#播放器

387 阅读1分钟

最近,公司要做视频播放器,网上找了下,发现合适自己的没有,就自己研究下 代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsMediaPlayer
{
    public partial class WindowsMediaPlayer : Form
    {
        public WindowsMediaPlayer()
        {
            InitializeComponent();
        }

        private void Open_Click(object sender, EventArgs e)
        {
            openFileDialog.Filter = "(mp3,wav,mp4,mov,wmv,mpg)|*.mp3;*.wav;*.mp4;*.mov;*.wmv;*.mpg|all files|*.*";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                axWindowsMediaPlayer1.URL = openFileDialog.FileName;//本地路径
                axWindowsMediaPlayer1.Ctlcontrols.play();
                //axWindowsMediaPlayer1.URL = "https://qiniu-xpc15.xpccdn.com/5ef2fdeee119b.mp4";//在线路径
                //axWindowsMediaPlayer1.Ctlcontrols.play();
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.pause();//暂停
        }

        private void button2_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.play();//播放
        }
        private void button10_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.stop();//退出播放
        }
        private void button3_Click(object sender, EventArgs e)
        {
            double aaa=axWindowsMediaPlayer1.Ctlcontrols.currentPosition;
            MessageBox.Show(aaa.ToString());//获取当前进度
        }

        private void timer1_Tick(object sender, EventArgs e)
        {//注意  这个是要使用timer组件
            label1.Text = axWindowsMediaPlayer1.Ctlcontrols.currentPositionString;
            if (axWindowsMediaPlayer1.currentMedia != null) {
                label2.Text = axWindowsMediaPlayer1.currentMedia.durationString;//获取总时间
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.fastForward();//快进
        }

        private void button5_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.fastReverse();//快退
        }

        private void WindowsMediaPlayer_Load(object sender, EventArgs e)
        {
            timer1.Interval = 1;
            this.timer1.Start();//开启定时器
            Boolean is_true = true;
            axWindowsMediaPlayer1.settings.setMode("loop", is_true);//循环播放
        }

        private void button6_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.settings.rate=2;//播放速率
        }

        private void button7_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.settings.rate = 1.5;//播放速率
        }

        private void button8_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 3;//自定义当前播放进度
        }

        private void button9_Click(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.settings.rate = 1;//播放速率
        }

        private void button11_Click(object sender, EventArgs e)
        {
            Boolean is_true = true;
            axWindowsMediaPlayer1.settings.mute =is_true;//静音
        }

        private void button12_Click(object sender, EventArgs e)
        {
            Boolean is_true = false;
            axWindowsMediaPlayer1.settings.mute = is_true;
        }
    }
}