C#实现一个MP3播放类
2018-07-20 来源:open-open
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 (); )
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐