- 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)
- {
- }
- }
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/040920135640.html
来源: http://www.codesnippet.cn/detail/040920135640.html