• C#使用WindowsMediaPlayer实现视频播放


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.IO;
    using System.Linq;
    using System.Runtime.InteropServices;
    using System.Security;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Windows.Forms.DataVisualization.Charting;

    namespace WindowsFormsApplication2
    {


    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    string playPath = null;
    string directory = null;
    List<string> playArray = null;
    private void 打开文件ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    using (OpenFileDialog openFileDialog = new OpenFileDialog())
    {
    openFileDialog.Filter = "mp4|*.mp4|视频文件(*.avi;*.wmv)|(*.avi;*.wmv)|All File(*.*)|(*.*)";
    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
    playPath = openFileDialog.FileName;
    directory = Path.GetDirectoryName(playPath);

    playArray = Form1.GetplayCollection(directory);

    }
    axWindowsMediaPlayer1.URL = playPath;

    }
    }

    public static List<string> GetplayCollection(string path)
    {
    string[] playarray = Directory.GetFiles(path);
    var result = from playstring in playarray
    where playstring.EndsWith("wmv", StringComparison.OrdinalIgnoreCase) ||
    playstring.EndsWith("avi", StringComparison.OrdinalIgnoreCase)||
    playstring.EndsWith("mp4", StringComparison.OrdinalIgnoreCase)
    select playstring;
    return result.ToList();
    }

    private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    Application.Exit();
    }

    private void 播放暂停ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    if ((int)axWindowsMediaPlayer1.playState == 2)
    axWindowsMediaPlayer1.Ctlcontrols.play();
    else if ((int)axWindowsMediaPlayer1.playState == 3)
    axWindowsMediaPlayer1.Ctlcontrols.pause();
    }

    private void 停止ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    axWindowsMediaPlayer1.Ctlcontrols.pause();
    }

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

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

    private void 上一曲ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    axWindowsMediaPlayer1.Ctlcontrols.previous();
    }

    private void 下一曲ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    axWindowsMediaPlayer1.Ctlcontrols.next();
    }

    private void 升高音量ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    if (axWindowsMediaPlayer1.settings.volume <= 90)
    {
    axWindowsMediaPlayer1.settings.volume += 10;
    }
    else
    {
    axWindowsMediaPlayer1.settings.volume = 100;
    }
    }

    private void 降低音量ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    if (axWindowsMediaPlayer1.settings.volume >= 10)
    {
    axWindowsMediaPlayer1.settings.volume -= 10;
    }
    else
    {
    axWindowsMediaPlayer1.settings.volume = 0;
    }
    }

    private void 静音ToolStripMenuItem_Click(object sender, EventArgs e)
    {
    axWindowsMediaPlayer1.settings.volume = 0;
    }
    }
    }

    111
  • 相关阅读:
    和类的初识
    IIFE
    闭包的二次理解
    5分钟搞懂ECE雾计算
    机智云推出设备联动API,打造智能家居场景化
    神奇的【设备联动API】,助力智能家居/家电场景化
    STM32峰会2017:半小时开发基于STM32的室内智能环境监测仪
    STM32峰会:机智云MCU代码开发工具降低智能硬件开发成本
    广和通G510联网固件首发,支持连接机智云
    各种STM32连接机智云案例汇总(不定期更新,欢迎补充)
  • 原文地址:https://www.cnblogs.com/zwj-199306231519/p/10614693.html
Copyright © 2020-2023  润新知