C#定義的MP3播放類實例
更新時間:2015年04月02日 14:56:28 作者:令狐不聰
這篇文章主要介紹了C#定義的MP3播放類,實例分析了C#操作多媒體音頻文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了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) { } } } }
調(diào)用方法:
private void Main() { //load music MP3Player MP3 = new MP3Player (Properties.Resources.music, Handle); //music start playing mp3.Open (); }
希望本文所述對大家的C#程序設(shè)計有所幫助。
相關(guān)文章
C#中圖片、二進(jìn)制與字符串的相互轉(zhuǎn)換方法
這篇文章主要介紹了C#中圖片、二進(jìn)制與字符串的相互轉(zhuǎn)換方法,涉及C#針對不同數(shù)據(jù)類型的解析與轉(zhuǎn)換操作技巧,需要的朋友可以參考下2016-06-06Unity shader實現(xiàn)移動端模擬深度水效果
這篇文章主要為大家詳細(xì)介紹了Unity shader實現(xiàn)移動端模擬深度水效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-05-05