首页 > 编程 > C# > 正文

C#定义的MP3播放类实例

2020-01-24 02:03:02
字体:
来源:转载
供稿:网友

本文实例讲述了C#定义的MP3播放类。分享给大家供大家参考。具体分析如下:

这里使用C#定义一个MP3播放类,将Mp3文件作为资源文件包含到项目中,就可以播放mp3了

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using System.Runtime.InteropServices;namespace Mp3Tool{  public Class MP3Player  {    [DllImport ("winmm.dll")]    static extern Int32 mciSendString (String command,StringBuilder buffer, Int32 bufferSize, IntPtr hwndCallback);    /// <summary>    /// temporary repository of music files    /// </ summary>    private String m_musicPath = "";    /// <summary>    /// parent window handle    /// </ summary>    private IntPtr m_Handle;    /// <summary>    /// Create Mp3 player class    /// </ summary>    /// <PARAM name="music">embedded music file</ param>    /// <PARAM name="path">temporary music file path</ param>    /// <PARAM name="Handle">parent window handle</ param>    public MP3Player (Byte [] Music, String path, IntPtr Handle)    {      try      {        m_Handle = Handle;        m_musicPath = Path.Combine (path, "temp.mp3");        FileStream fs = new FileStream (m_musicPath, FileMode.Create);        fs.Write (Music, 0, music.Length);        fs.Close ();      }      catch (Exception)      {      }    }    /// <summary>    /// Create Mp3 player class    /// </ summary>    /// <PARAM name="musicPath">to play the mp3 file path</ param>    /// <PARAM name="Handle">parent window handle</ param>    public MP3Player(String musicPath, IntPtr Handle)    {      m_musicPath = musicPath;      m_Handle = Handle;    }    public MP3Player(Byte [] Music, IntPtr Handle) : this(Music, @"C:/Windows/",Handle)    {    }    public void Open (String path)    {      IF (path ! = "")      {        try        {          mciSendString ("Open " + path + " alias Media", null, 0, m_Handle);          mciSendString ("play Media", null, 0, m_Handle);        }        catch (Exception)        {        }      }    }    public void Open()    {      Open (m_musicPath);    }    void CloseMedia()    {      try      {        mciSendString ("Close ALL", null, 0, m_Handle);      }      catch (Exception)      {      }    }  }}

调用方法:

private void Main(){   //load music   MP3Player MP3 = new MP3Player (Properties.Resources.music, Handle);  //music start playing   mp3.Open ();}

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表