程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB利用高級音頻函數編寫多媒體播放器

VB利用高級音頻函數編寫多媒體播放器

編輯:VB綜合教程
VB利用高級音頻函數編寫多媒體播放器
  
  現在使用VB編程的朋友越來越多了.但是如何使用VB來編寫播放多媒體文件的播放器呢?本篇將詳細的介紹如何利用高級音頻函數編寫媒體播放器!
  
  內容提要:
  了解高級音頻函數各參數的意思;
  提供一些高級音頻函數的命令集;
  編寫一個簡單的多媒體播放器程序;
  
  高級音頻函數有兩條:1.mciSendString;2.mciSendCommand.前者稱為命令字符串函數,後者稱為命令消息函數.命令字符串函數顧名思義就是利用字符串作為命令來控制媒體設備,它最適合高級編程語言如:VB.而命令消息函數則是利用消息的發送來控制媒體設備,它最適合利用常數作命令的編程語言如:VC .因此我們這裡只講解命令字符串函數的使用方法.
  
  函數原型:
  mciSendString(ByVallpstrCommandAsString,ByVallpstrReturnStringAsString,ByValuReturnLengthAsLong,ByValhwndCallbackAsLong)AsLong
  
  參數說明:
  lpstrCommand:要發送的命令字符串.字符串結構是:[命令][設備別名][命令參數].
  lpstrReturnString:返回信息的緩沖區,為一指定了大小的字符串變量.
  uReturnLength:緩沖區的大小,就是字符變量的長度.
  hwndCallback:回調方式,一般設為零.(*函數執行成功返回零,否則返回錯誤代碼)
  
   使用此函數能播放哪些媒體文件呢?不用擔心,打開win.ini文件看看便知.找到[mciextensions]部分這裡記錄了你的計算機所能使用的所有媒體文件名,如:mid=Sequencer,等號左邊的表示媒體文件的擴展名,等號右邊的表示打開此媒體文件的設備名.
  
  知道了哪些文件可以播放後就可以播放媒體文件了嗎?No!你還得知道如何使用命令字符串來控制設備.下面列出的命令集是各種設備同時都具有的也是關鍵的命令集:
  
  1.Opendevice_name[aliasalias_name]:Open命令用來打開device_name設備並取別名為alias_name,device_name為媒體文件名或設備名,alias_name是為device_name取的別名.如:OpenC:windowskl.wavaliasWAV.意思是打開:c:windowskl.wav這個文件並取別名為WAV,在經後的操作過程中就可用這個別名來控制它所打開的設備了.
  
  2.Closealias_name:Close命令用來關閉別名為alias_name的設備,在關閉程序時必須調用該命令否則其它的程序將無法打開該設備.
  
  3.Playalias_name:Play命令用來播放別名為alias_name的媒體文件.成功的打開設備後就可調用該命令來播放媒體文件了.
  
  4.Stopalias_name:Stop命令用來停止播放媒體文件.
  
  5.Seekalias_name:Seek命令用來設置當前播放的位置.(需事先設定時間格式)
  
  6.Setalias_name[audioalloff][audioallon][timeformatms]:Set命令用來設置設備的各種狀態.如:靜音,有聲音,時間格式為毫秒等.
  
  7.Statusalias_name[length][mode][position]:Status命令用來取得設備的狀態.如:該媒體文件的長度,該媒體文件所處狀態,該媒體文件的當前位置等.
  
  由於篇幅有限這裡就不再說更多的命令集了.有興趣的朋友可到我的網址詳細的查詢.
  
  下面將介紹如何利用上面說的函數和命令集為我們工作:
  
  1.新建一工程並在工程中添加一公用對話框(CommonDialog),再添加一模塊(Module).
  2.在模塊中聲明命令字符串函數:
  DeclareFunctionmciSendStringLib"winmm.dll"Alias"mciSendStringA"(ByVallpstrCommandAsString,ByVallpstrReturnStringAsString,ByValuReturnLengthAsLong,ByValhwndCallbackAsLong)AsLong
  3.添加一按鈕並在按鈕的Click事件中加入以下代碼:
  dimdwReturnasString*256
  me.CommonDialog1.ShowOpen
  if(mciSendString("Open" Commondialog1.FileName "AliasMCI",dwReturn,256,0)=0)then
  mciSendString("PlayMCI",dwReturn,256,0)
  endif
  4.最後在窗體的UnLoad事件中加入以下代碼:
  mciSendString("CloseMCI")
  是不是很簡單!才用了七行代碼就編成了一個簡單的播放器?
  
  有興趣的朋友可到我的主頁查詢,也可給我發E-Mail:
  我的主頁:http://www.tianfu.net/~kennyok(內有詳細的說明和豐富的源程序)
  我的E-mail:[email protected]
  成都:劉明
  地址:成都市新南門青平巷19號->

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