电竞比分网-中国电竞赛事及体育赛事平台

分享

在主程序和表單中添加背景音樂

 悟靜 2009-06-22
一、利用set bell to
  VFP5.0的set bell to命令的使用格式不同于FoxPro2.X的格式。在VFP5.0中,它的格式為Set Bell To [cWAVFileName, nDuration]。其中cWAVFileName為一個.WAV文件;nDuration為持續(xù)時間(注意該項不可省略,否則會產(chǎn)生語法錯誤)。這樣當(dāng)在個人程序的初始模塊中用set bell to 定向到一.WAV文件后,便可在后面的模塊中用?chr(7)來播放該.WAV文件。
  示例1:
  set bell on &&使bell有效
  set bell to′ .WAV文件′,0 &&使bell定向到一個.WAV 文件。注意有單引號
  chr(7)
 ?。ΓΣシ旁?WAV文件
  二、利用OLE容器控件
  創(chuàng)建一表單,單擊表單控件工具欄中的“OLE容器控件”按鈕,然后在表單上適當(dāng)位置點擊或拖動。在出現(xiàn)的“Insert Object”窗口中選“Creat New”或“Creat From File”,用“Browse”按鈕選取自己的.WAV文件,確定即可。
  在當(dāng)前表單中會出現(xiàn)一“喇叭”圖標(biāo),設(shè)置該圖標(biāo)的屬性“ AutoActivate”為1,可使每當(dāng)表單運行時自動播放該.WAV文件,實現(xiàn)背景音樂;設(shè)置Height、Width均為0時,可隱藏“喇叭”圖標(biāo)。
  三、利用VFP庫Foxtools.fll
  用=Regfn()和=Callfn()可訪問Foxtools.fll中的音頻模塊,進行播放聲音文件。
  示例2:
  創(chuàng)建一表單,在其Activate事件中輸入下列代碼:
  public ss &&定義一全局變量ss
  set library to foxtools.fll &&打開庫Foxtools.fll
  ss=Regfn(″SndPlaySound″,″CI″,″I″,″mmsystem″) &&取得音頻信息
  =Callfn(ss,″一.wav文件″,n) &&n=0(1,2,3也可)時只播放一遍,n=9時循環(huán)播放
  在其Destroy事件中輸入下列代碼:
  =Callfn(ss,″″,10) &&停止播放
  set library to &&從內(nèi)存中釋放庫foxtools.fll
  四、利用Windows的動態(tài)鏈接庫
  在VFP5.0的安裝目錄samples\classes下,有一類庫samples\classes。其中提供有兩種控件:視頻和音頻,音頻可以控制播放.WAV和.MID文件,利用它可輕松地實現(xiàn)背景音樂。下面給出它的實例。
  示例3:
  創(chuàng)建一表單,在表單控件工具欄中選擇類按鈕,添加VFP5.0中的samples\classes\samples.vbx類庫。此時表單控件工具欄中會出現(xiàn)SoundPlayer和VideoFrame兩個多媒體控件。選擇SoundPlayer,在表單上單擊后,設(shè)置它的屬性如下:
  AutoOpen=.t.
  AutoPlay=.t.
  AutoRepeat=.t.
  Class=SoundPlayer
  Soundfile=指定一.WAV或.MID文件 &&注意沒有引號
  Visible=.f. &&不可見
  以上幾種方式各有優(yōu)缺點,應(yīng)用時要注重滿足自己的編程需要。若你有更好的方法,歡迎來信共同探討

我利用ole容器播放MID文件,因為MID文件普遍最小。
但是我不知道可否設(shè)置循環(huán)播放?
因為我不知道解決方案,所以,我就加了一個定時器,設(shè)置調(diào)用定時器的時間間隔等于或略大于MID播放時間長度。
*********************************

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多