C# AxMediaPlayer元件程式碼詳解!

C#中如何在Windows Form播放音樂?這次要教大家的,就是調用Windows Media Player元件,這個元件可以使你的表單內,擁有媒體播放的功能!請看以下詳細講解,使用Windows Media Player元件快速的做出屬於自己的播放軟體

使用AxMediaPlayer元件的首要條件是,你必須要新增一個COM元件

 

加入「Windows Media Player」元件


步驟一

新增一個Form,然後在工具箱裡的「一般」索引標籤上按一下滑鼠右鍵,並且按下「選擇項目」

步驟二

在對話框中,選擇「COM元件」標籤,並且找到「Windows Media PlayerAxMediaPlayer)」,然後按下確定。

完成!

如此一來,「一般」裡面,就會出現「Windows Media PlayerAxMediaPlayer)」的元件了!

 

 

控件屬性&說明


接下來,在這邊先說明一下「Windows Media PlayerAxMediaPlayer)」的使用方法:

基本屬性 詳細說明
URL:String; 指定媒體位置,本機或網路位址
uiMode:String; 播放機介面模式,可為Full, Mini, None, Invisible
playState:integer; 播放狀態,1=停止,2=暫停,3=播放,6=正在緩衝,9=正在連接,10=準備就緒
enableContextMenu:Boolean; 啟用/禁用右鍵菜單
fullScreen:boolean; 是否全屏顯示
[controls] wmp.controls //播放機基本控制
controls.play; 播放
controls.pause; 暫停
controls.stop; 停止
controls.currentPosition:double; 當前進度
controls.currentPositionString:string; 當前進度,字串格式。如“00:23”
controls.fastForward; 快進
controls.fastReverse; 快退
controls.next; 下一曲
controls.previous; 上一曲
[settings] wmp.settings //播放機基本設置
settings.volume:integer; 音量,0-100
settings.autoStart:Boolean; 是否自動播放
settings.mute:Boolean; 是否靜音
settings.playCount:integer; 播放次數
[currentMedia] wmp.currentMedia //當前媒體屬性
currentMedia.duration:double; 媒體總長度
currentMedia.durationString:string; 媒體總長度,字串格式。如“03:24”
currentMedia.getItemInfo(const string); 獲取當前媒體資訊”Title”=媒體標題,”Author”=藝術家,”Copyright”=版權資訊,”Description”=媒體內容描 述,”Duration”=持續時間(秒),”FileSize”=檔大小,”FileType”=檔案類型,”sourceURL”=原始地址
currentMedia.setItemInfo(const string); 通過屬性名設置媒體資訊
currentMedia.name:string; 同 currentMedia.getItemInfo(“Title”)
[currentPlaylist] wmp.currentPlaylist //當前播放清單屬性
currentPlaylist.count:integer; 當前播放清單所包含媒體數
currentPlaylist.Item[integer]; 獲取或設置指定專案媒體資訊,其子屬性同wmp.currentMedia

MSDN – AxMediaPlayer元件詳細資訊點我

 

參考


設定TrackBar值為MediaPlayer(AxMediaPlayer)音量

private void Form1_Load(object sender, EventArgs e)
{
    this.Slider.Minimum = 0;                                                   //設定音量Slider最小值為最小音量值(0)
    this.Slider.Maximum = 100;                                             //設定音量Slider最大值為最大音量值(100)
    this.Slider.Value = this.axWindowsMediaPlayer1.settings.volume;        //設定音量Slider值為MediaPlayer音量值
}
 
 

 設定滑動音量Slider並改變MediaPlayer音量

private void slider_Scroll(object sender, EventArgs e)
{
    this.axWindowsMediaPlayer1.settings.volume = this.slider.Value;
}
 
 

設定播放進度Slider隨著播放進度改變而自動捲動

private void timer1_Tick(object sender, EventArgs e)
{
    Slider1.Minimum = 0;
    Slider1.Maximum = 1000;
    double per = (double)axWindowsMediaPlayer1.Ctlcontrols.currentPosition / (double)axWindowsMediaPlayer1.currentMedia.duration * 1000;         //設定目前進度為歌曲長度的千分之幾
    int prog = (int)System.Math.Round(per, 0, MidpointRounding.AwayFromZero);               //四捨五入到小數點
    this.Slider1.Value = prog;
}
 
 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *