• 大小: 387KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-21
  • 语言: C#
  • 标签: C#  DirectShow  播放器  

资源简介

自己用C#写的DirectShow接口实现的媒体播放器,实现了播放、暂停、停止、快进、快退、播放列表、打开文件、将文件夹内所有媒体文件加入播放列表、音量控制、拖动进度条等功能。支持*.mpg;*.avi;*.flv;*.wma;*.mov;*.rmvb;*.asf;*.wav;*.mp2;*.mp3等文件

资源截图

代码片段和文件信息

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 QuartzTypeLib;
using System.IO;

namespace DSPlayer
{
    public partial class Form1 : Form
    {
        /// 
        /// 必须的设计器变量
        /// 

        String fPath;
        String fName;
        static int WM_APP = 0x8000;                   //自定义消息起始于WM_APP
        static int WM_GRAPHNOTIFY = WM_APP + 1;       //私有消息
        static int EC_COMPLETE = 0x01;                //媒体播放完毕消息
        static int WS_CHILD = 0x40000000;             //创建一个子窗口。带有此风格的窗口不能带有菜单栏

        static int WS_CLIPCHILDREN = 0x2000000;
        static FilgraphManager m_objFilterGraph = null;
        static IBasicAudio m_objBasicAudio = null;
        static IVideoWindow m_objVideoWindow = null;
        static IMediaEvent m_objMediaEvent = null;
        static IMediaEventEx m_objMediaEventEx = null;
        static IMediaPosition m_objMediaPosition = null;
        static IMediaControl m_objMediaControl = null;
        static IBasicVideo m_objBasicVideo = null;
        

        enum MediaStatus{
            NoneStoppedPausedRunning
        };
        static MediaStatus m_CurrentStatus = MediaStatus.None;

        public Form1()
        {
            InitializeComponent();
        }

        private void cleanUp() {
            if (m_objMediaControl != null)
                m_objMediaControl.Stop();
            m_CurrentStatus = MediaStatus.Stopped;
            if (m_objMediaEventEx != null)
                m_objMediaEventEx.SetNotifyWindow(0 0 0);
            if (m_objVideoWindow != null)
            {
                m_objVideoWindow.Visible = 0;
                m_objVideoWindow.Owner = 0;
            }
            if (m_objBasicAudio != null)
                m_objBasicAudio = null;
            if (m_objFilterGraph != null)
                m_objFilterGraph = null;
            if (m_objMediaControl != null)
                m_objMediaControl = null;
            if (m_objMediaEvent != null)
                m_objMediaEvent = null;
            if (m_objMediaEventEx != null)
                m_objMediaEventEx = null;
            if (m_objMediaPosition != null)
                m_objMediaPosition = null;
            if (m_objVideoWindow != null)
                m_objVideoWindow = null;
        }

        private void 打开文件ToolStripMenuItem_Click(object sender EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = “Medie Files|*.mpg;*.avi;*.flv;*.wma;*.mov;*.rmvb;*.asf;*.wav;*.mp2;*.mp3|All Files|*.*“;
            if (System.Windows.Forms.DialogResult.OK == openFileDialog.ShowDialog()) {
                listBox1.Items.Add(openFileDialog.SafeFileName);
                playMedia(openFileDialog.FileName);
            }
        }

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     116224  2012-11-17 20:06  DSPlayer\DSPlayer\bin\Debug\DSPlayer.exe

     文件      38400  2012-11-17 20:06  DSPlayer\DSPlayer\bin\Debug\DSPlayer.pdb

     文件      11600  2012-11-17 19:04  DSPlayer\DSPlayer\bin\Debug\DSPlayer.vshost.exe

     文件        490  2010-03-17 22:39  DSPlayer\DSPlayer\bin\Debug\DSPlayer.vshost.exe.manifest

     文件       4462  2012-11-16 19:17  DSPlayer\DSPlayer\DSPlayer.csproj

     文件        225  2012-11-16 18:47  DSPlayer\DSPlayer\DSPlayer.csproj.user

     文件      11596  2012-11-17 20:06  DSPlayer\DSPlayer\Form1.cs

     文件      22989  2012-11-17 20:06  DSPlayer\DSPlayer\Form1.Designer.cs

     文件       8359  2012-11-17 20:06  DSPlayer\DSPlayer\Form1.resx

     文件       4440  2012-11-17 15:42  DSPlayer\DSPlayer\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       6814  2012-11-17 20:06  DSPlayer\DSPlayer\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件        739  2012-11-17 19:04  DSPlayer\DSPlayer\obj\x86\Debug\DSPlayer.csproj.FileListAbsolute.txt

     文件     116224  2012-11-17 20:06  DSPlayer\DSPlayer\obj\x86\Debug\DSPlayer.exe

     文件       1205  2012-11-17 20:06  DSPlayer\DSPlayer\obj\x86\Debug\DSPlayer.Form1.resources

     文件      38400  2012-11-17 20:06  DSPlayer\DSPlayer\obj\x86\Debug\DSPlayer.pdb

     文件      91890  2012-11-16 19:17  DSPlayer\DSPlayer\obj\x86\Debug\DSPlayer.Properties.Resources.resources

     文件       1562  2012-11-17 20:06  DSPlayer\DSPlayer\obj\x86\Debug\GenerateResource.read.1.tlog

     文件        630  2012-11-17 20:06  DSPlayer\DSPlayer\obj\x86\Debug\GenerateResource.write.1.tlog

     文件       8301  2012-11-17 15:57  DSPlayer\DSPlayer\obj\x86\Debug\ResolveAssemblyReference.cache

     文件       5632  2012-11-16 18:54  DSPlayer\DSPlayer\obj\x86\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件        489  2012-11-16 18:08  DSPlayer\DSPlayer\Program.cs

     文件       1348  2012-11-16 18:08  DSPlayer\DSPlayer\Properties\AssemblyInfo.cs

     文件       4644  2012-11-16 18:54  DSPlayer\DSPlayer\Properties\Resources.Designer.cs

     文件       7677  2012-11-16 18:54  DSPlayer\DSPlayer\Properties\Resources.resx

     文件       1093  2012-11-16 18:08  DSPlayer\DSPlayer\Properties\Settings.Designer.cs

     文件        249  2012-11-16 18:08  DSPlayer\DSPlayer\Properties\Settings.settings

     文件       9972  2012-11-16 18:54  DSPlayer\DSPlayer\Resources\01045_10.png

     文件      10188  2012-11-16 18:54  DSPlayer\DSPlayer\Resources\01045_11.png

     文件      10029  2012-11-16 18:54  DSPlayer\DSPlayer\Resources\01045_12.png

     文件       9057  2012-11-16 18:54  DSPlayer\DSPlayer\Resources\01045_13.png

............此处省略18个文件信息

评论

共有 条评论