AxWindowsMediaPlayer媒體檔案主要方法屬性

來源:互聯網
上載者:User

AxWindowsMediaPlayer媒體檔案主要方法屬性  

 

 

建立、添加播放清單(C#)

代碼

 // 創見開啟對話方塊對象執行個體
   OpenFileDialog open = new OpenFileDialog();
//設定為可以開啟多個檔案
open.Multiselect = true;
   //設定開啟檔案格式
open.Filter = "Mp3檔案|*.mp3|Wav檔案|*.wav|Wma檔案|*.wma|Wmv檔案|*.wmv|所有格式|*.*";
   //判斷是否單擊確定按鈕
if (open.ShowDialog() == DialogResult.OK)
{
//建立播放清單,名字為aa
axWindowsMediaPlayer1.currentPlaylist = axWindowsMediaPlayer1.newPlaylist("aa", "");
     //遍曆開啟的集合
foreach (string fn in open.FileNames)
{
//添加播放清單
axWindowsMediaPlayer1.currentPlaylist.appendItem(axWindowsMediaPlayer1.newMedia(fn));
}
   } //迴圈播放 axWindowsMediaPlayer1.settings.setMode("loop", true);
   //播放
   axWindowsMediaPlayer1.Ctlcontrols.play();

 

 

 

屬性/方法名: 說明:
[基本屬性]  
URL:String; 指定媒體位置,本機或網路地址
uiMode:String; 播放器介面模式,可為Full, Mini, None, Invisible
playState:integer; 播放狀態,1=停止,2=暫停,3=播放,6=正在緩衝,9=正在串連,10=準備就緒
enableContextMenu:Boolean; 啟用/禁用右鍵菜單
fullScreen:boolean; 是否全螢幕顯示
//播放器基本控制
Ctlcontrols.play; 播放
Ctlcontrols.pause; 暫停
Ctlcontrols.stop; 停止
Ctlcontrols.currentPosition:double; 當前進度
Ctlcontrols.currentPositionString:string; 當前進度,字串格式。如“00:23”
Ctlcontrols.fastForward; 快進
Ctlcontrols.fastReverse; 快退
Ctlcontrols.next; 下一曲
Ctlcontrols.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
axWindowsMediaPlayer1.currentMedia.sourceURL; //擷取現正播放的媒體檔案的路徑
axWindowsMediaPlayer1.currentMedia.name;          //擷取現正播放的媒體檔案的名稱
axWindowsMediaPlayer1.Ctlcontrols.Play          播放  
axWindowsMediaPlayer1.Ctlcontrols.Stop          停止  
axWindowsMediaPlayer1.Ctlcontrols.Pause          暫停  
axWindowsMediaPlayer1.Ctlcontrols.PlayCount        檔案播放次數  
axWindowsMediaPlayer1.Ctlcontrols.AutoRewind       是否迴圈播放  
axWindowsMediaPlayer1.Ctlcontrols.Balance         聲道  
axWindowsMediaPlayer1.Ctlcontrols.Volume         音量  
axWindowsMediaPlayer1.Ctlcontrols.Mute          靜音  
axWindowsMediaPlayer1.Ctlcontrols.EnableContextMenu    是否允許在控制項上點擊滑鼠右鍵時彈出捷徑功能表  
axWindowsMediaPlayer1.Ctlcontrols.AnimationAtStart    是否在播放前先播放動畫  
axWindowsMediaPlayer1.Ctlcontrols.ShowControls      是否顯示控制項工具欄  
axWindowsMediaPlayer1.Ctlcontrols.ShowAudioControls    是否顯示聲音控制按鈕  
axWindowsMediaPlayer1.Ctlcontrols.ShowDisplay       是否顯示資料檔案的相關資訊  
axWindowsMediaPlayer1.Ctlcontrols.ShowGotoBar       是否顯示Goto欄  
axWindowsMediaPlayer1.Ctlcontrols.ShowPositionControls  是否顯示位置調節按鈕  
axWindowsMediaPlayer1.Ctlcontrols.ShowStatusBar      是否顯示狀態列  
axWindowsMediaPlayer1.Ctlcontrols.ShowTracker       是否顯示進度條  
axWindowsMediaPlayer1.Ctlcontrols.FastForward       快進  
axWindowsMediaPlayer1.Ctlcontrols.FastReverse       快退  
axWindowsMediaPlayer1.Ctlcontrols.Rate          快進/快退速率  
axWindowsMediaPlayer1.AllowChangeDisplaySize 是否允許自由設定播放圖象大小  
axWindowsMediaPlayer1.DisplaySize       設定播放圖象大小  
    1-MpDefaultSize         原始大小  
    2-MpHalfSize           原始大小的一半  
    3-MpDoubleSize          原始大小的兩倍  
    4-MpFullScreen          全屏  
    5-MpOneSixteenthScreen      螢幕大小的1/16  
    6-MpOneFourthScreen       螢幕大小的1/4  
    7-MpOneHalfScreen        螢幕大小的1/2  
axWindowsMediaPlayer1.ClickToPlay       是否允許單擊播放視窗啟動Media Player  

在視頻播放之後,可以通過如下方式讀取源視頻的寬度和高度,然後設定其還原為原始的大小.
         private void ResizeOriginal()
         {
             int intWidth = axWindowsMediaPlayer1.currentMedia.imageSourceWidth;
             int intHeight = axWindowsMediaPlayer1.currentMedia.imageSourceHeight;
             axWindowsMediaPlayer1.Width = intWidth + 2;
             axWindowsMediaPlayer1.Height = intHeight + 2;
         }

 

 

開啟媒體檔案並播放:

         Dim filePath As String
         With Me.OpenFileDialog1
             .Title = "開啟語音檔案"
             .CheckPathExists = True
             .CheckFileExists = True
             .Multiselect = False
             .Filter = "mp3檔案(*.mp3)|*.mp3|所有檔案(*.*)|*.*"
             If .ShowDialog = DialogResult.Cancel Then
                 Exit Sub
             End If
             filePath = .FileName
         End With
         Me.Text = "PC複讀機-檔案 " & filePath
         AxWindowsMediaPlayer1.URL = filePath
         Try
             Me.AxWindowsMediaPlayer1.Ctlcontrols.play()
         Catch ex As Exception
             MsgBox("對不起,不能播放此格式語音檔案", MsgBoxStyle.OKOnly, "PC複讀機")
             Exit Sub
         End Try

注意:

AxWindowsMediaPlayer1.URL 中URL是表示要播放的檔案名稱,取消了原來的Name屬性.

AxWindowsMediaPlayer1.Ctlcontrols.play()播放,同樣還有Pause,Stop等其他屬性.

AxWindowsMediaPlayer1.settings.balance表示媒體播放的聲道設定,0表示均衡,-1和1表示左右聲道.

AxWindowsMediaPlayer1.currentMedia.duration 表示要播放的檔案的時間長度.可用它擷取檔案長度.

AxWindowsMediaPlayer1.Ctlcontrols.currentPosition表示現正播放的檔案的當前播放位置,可用這個屬性來對媒體檔案進行前進後退等設定.如

AxWindowsMediaPlayer1.Ctlcontrols.currentPosition+1 表示前進1個時間單位.

AxWindowsMediaPlayer1.settings.rate播放速率,一般乘以16後再顯示kbps單位.

 

 

注意:在上面程式中,如果在後面加上一個:

msgbox(AxWindowsMediaPlayer1.currentMedia.duration.ToString )

則顯示結果很可能為0,因此,這時候很可能擷取不到檔案的播放時間長度,容易出錯。所以在利用的時候可以加一個timer控制項:

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
         EndPoint = AxWindowsMediaPlayer1.currentMedia.duration
         If EndPoint = 0 Then Exit Sub '可能因為媒體檔案的開啟需要一定時間,這裡等待媒體檔案的開啟

         msgbox(AxWindowsMediaPlayer1.currentMedia.duration.ToString )

End Sub

此時msgbox便會顯示檔案播放長度。

2. Ctlcontrols屬性

Ctlcontrols屬性是AxWindowsMediaPlayer的一個重要屬性, 此控制項中有許多常用成員。

(1) 方法play

用於播放多媒體檔案,其格式為:

表單名.控制項名.Ctlcontrols.play()

如: AxWindowsMediaPlayer1.Ctlcontrols.play()  ‘此處預設表單名是Me

(2) 方法pause

用於暫停現正播放的多媒體檔案,其格式為:

表單名.控制項名.Ctlcontrols.pause()

如: AxWindowsMediaPlayer1.Ctlcontrols.pause()

(3) 方法stop

用於停止現正播放的多媒體檔案,其格式為:

表單名.控制項名.Ctlcontrols.stop()

如: AxWindowsMediaPlayer1.Ctlcontrols.stop()

(4) 方法fastforward

用於將現正播放的多媒體檔案快進,其格式為:

表單名.控制項名.Ctlcontrols.fastforward()

如: AxWindowsMediaPlayer1.Ctlcontrols.forward()

(5) 方法fastreverse

表單名.控制項名.Ctlcontrols.fastreverse()

如: AxWindowsMediaPlayer1.Ctlcontrols.fastreverse()

6. 屬性CurrentPosition

用於擷取多媒體檔案當前的播放進度,其值是數實值型別,使用格式為:

表單名.控制項名.Ctlcontrols.currentPosition

d1 =AxWindowsMediaPlayer1.Ctlcontrols.currentPosition

其中d1 是一個整型變數。

7. 屬性Duration

用於擷取當前多媒體檔案的播放的總時間,其值為數實值型別,其使用格式為:

表單名.控制項名.currentMedia.duration

如:d2 =AxWindowsMediaPlayer1.currentMedia.duration

其中d2是一個整型變數。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.