本文实例讲述了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#程序设计有所帮助。
新闻热点
疑难解答