程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# wave mp3 播放器探尋

C# wave mp3 播放器探尋

編輯:C#入門知識

最近無聊,想聽聽歌曲。可憐新電腦上歌曲就兩三首,要聽其它的就得在舊電腦上播放。可是,那台古董但不失健壯的本本被老婆無情的霸占了。無奈。

思來想去,得,寫個程序播放吧。做個C/S播放器。

理想是美好的,現實是殘酷的。 在繁瑣的查找和測試之後,找來了NAdio(

 

  • 使用FileStream 或 MemoryStream 時 ,流的一定要為 ,。即需要注意
  • 無法使用Wave文件的一段來播放。
  •  Stream屬性可指定要播放的流

 

  • 對文件類型進行判斷時,先判斷Wave文件,若非wave文件,則使用 Mp3Freame 來判斷是否為mp3文件
  • 若使用NAudio庫提供的 WaveOut 播放,需要注意,它在文件播放完時並不會把 PlaybackState 置為 PlaybackState.Stopped,這個需要手動判斷了。
  • 若要 get / set 播放的進度時間音量,則需要使用
  • NAudio庫的 Volume 的音量調用有問題,使用默認值即可。


 

  •  NAudio的源文件中提供了一些示例
  • http://naudio.codeplex.com/的網頁中,Projects Using NAudio 同樣有一些 
  • 當然,更好的是 DOCUMENTION 下面的 How do I...? 這裡直接有播放Wave和Mp3的救命代碼
  • 還有一篇  A Simple C# Player Mp3 with NAudio 的文章 

 

     大家都清楚播放器的基本構成包含: 音量控制進度控制時間顯示播放暫停停止 等幾個基本動做,以及 播放結束時引發的事件。所以,
            
 

上圖AudioPlayer為播放器的對象,但實際的播放操作是由NAudio來完成。所以,

             

使用AudioCore來完成NAudio實際的播放動作。那麼,如何操作音量、進度及顯示時間呢?這些就是要 AudioVolume AudioTimePosition 來完成了。

 

                     

 

OK,所有的對象都已經建立,只需要有機的結合在一起就可以工作了。下面來做個實際測試。

讓我們來聽下講的《西游記》

        

     結束的貌似快了點。hi~hi~,咱這是效率。附代碼。有興趣的同學可以用Reflector反編譯 goldli.Utility.AudioPlayer.dll 。有問題發郵件。閃了

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved