欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
MFC中的幾種播放聲音的方法

一.播放聲音文件的簡(jiǎn)單方法
  在VC++ 中的多媒體動(dòng)態(tài)連接庫中提供了一組與音頻設備有關(guān)的函數。利用這些函數可以方便地播放聲音。最簡(jiǎn)單的播放聲音方法就是直接調用VC++中提供的聲音播放函數BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中參數lpszSound是需要播放聲音的.WAV文件的路徑和文件名, hmod在這里為NULL,fuSound是播放聲音的標志,具體說(shuō)明請參考VC++中的幫助。例如播放C:\sound\music.wav可以用sndPlaySound ("c:\\sound\\music.wav",SND_ASYNC);或PlaySound("c:\\sound\\music.wav",NULL, SND_ASYNC|SND_NODEFAULT );假如沒(méi)有找到music.wav文件,第一種格式將播放系統默認的聲音,第二種格式不會(huì )播放系統默認的聲音。

二.將聲音文件加入到程序中
  在VC++的程序設計中,可以利用各種標準的資源,如位圖,菜單,對話(huà)框等。同時(shí)VC++也答應用戶(hù)自定義資源,因此我們可以將聲音文件作為用戶(hù)自定義資源加入程序資源文件中,經(jīng)過(guò)編譯連接生成EXE文件,實(shí)現無(wú).WAV文件的聲音播放。
  要實(shí)現作為資源的聲音文件的播放,首先要在資源管理器中加入待播放的聲音文件(實(shí)現過(guò)程并不復雜,這里不在敘述)。假設生成的聲音文件資源標識符為IDR_WAVE1。在播放時(shí)只需要調用下面的語(yǔ)句:
  PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(),   SND_ASYNC|SND_RESOURCE|SND_NODEFAULT|SND_LOOP);
  其中MAKEINTRESOURCE()宏將整數資源標識符轉變?yōu)樽址?,AfxGetResourceHandle()函數返回包含資源的模塊句柄,
SND_RESOURCE是必須的標志。
  作為資源的聲音文件的第二種播放方法是把資源讀入內存后作為內存數據播放。具體步驟入下:
  1.獲得包含資源的模塊句柄:
  HMODULE hmod=AfxGetResourceHandle();
  2.檢索資源塊信息:
  HRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_WAVE1),_T("WAVE"));
  3. 裝載資源數據并加鎖:
  HGLOBAL hGlobalMem=LoadResource(hmod,hSndResource);
LPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem);
  4.播放聲音文件:
  sndPlaySound(lpMemSound,SND_MEMORY));
  5.釋放資源句柄:
  FreeResource(hGlobalMem);

第三種方法是用PlaySound播放系統聲音,Windows啟動(dòng)的聲音是由SystemStart定義的系統聲音,因此可以用下面的方法播放啟動(dòng)聲音:
PlaySound("SystemStart",NULL,SND_ALIAS|SND_ASYNC);
函數sndPlaySound的功能與PlaySound類(lèi)似,但少了一個(gè)參數。函數的聲明為:
BOOL sndPlaySound(LPCSTR lpszSound, UINT fuSound);
除了不能指定資源名字外,參數lpszSound與PlaySound的是一樣的。參數fuSound是如何播放聲音的標志,可以是SND_ASYNC、SND_LOOP、SND_MEMORY、SND_NODEFAULT、SND_NOSTOP和SND_SYNC的組合,這些標志的含義與PlaySound的一樣。
可以看出,sndPlaySound不能直接播放聲音資源。要用該函數播放WAVE文件,可按下面的方式調用

 

=================================================================================

一、PlaySound函數的聲明為:

BOOL PlaySound(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound);

參數說(shuō)明:

pszSound:是指定了要播放聲音的字符串,該參數可以是WAVE文件的名字,或是WAVE資源的名字,或是內存中聲音數據的指針,或是在系統注冊表WIN.INI中定義的系統事件聲音.假如該參數為NULL則停止正在播放的聲音.

hmod:是應用程序的實(shí)例句柄,當播放WAV資源時(shí)要用到該參數,否則它必須為NULL.

fdwSound: 是標志的組合,如下表所示。若成功則函數返回TRUE,否則返回FALSE。
二、播放標志以及含義:

SND_APPLICATION
用應用程序指定的關(guān)聯(lián)來(lái)播放聲音。

SND_ALIAS
pszSound參數指定了注冊表或WIN.INI中的系統事件的別名。

SND_ALIAS_ID
pszSound參數指定了預定義的聲音標識符。

SND_ASYNC
用異步方式播放聲音,PlaySound函數在開(kāi)始播放后立即返回。

SND_FILENAME
pszSound參數指定了WAVE文件名。

SND_LOOP
反復播放聲音,必須與SND_ASYNC標志一塊使用。

SND_MEMORY
播放載入到內存中的聲音,此時(shí)pszSound是指向聲音數據的指針。

SND_NODEFAULT
不播放缺省聲音,若無(wú)此標志,則PlaySound在沒(méi)找到聲音時(shí)會(huì )播放缺省聲音。

SND_NOSTOP
PlaySound不打斷原來(lái)的聲音播出并立即返回FALSE。

SND_NOWAIT
假如驅動(dòng)程序正忙則函數就不播放聲音并立即返回。
SND_PURGE
停止所有與調用任務(wù)有關(guān)的聲音。若參數pszSound為NULL,就停止所有的聲音,否則,停止pszSound指定的聲音。
SND_RESOURCE
pszSound參數是WAVE資源的標識符,這時(shí)要用到hmod參數。
SND_SYNC
同步播放聲音,在播放完后PlaySound函數才返回。

三、函數使用方法及代碼:

注重:在使用函數前要加入:

#include "mmsystem.h"http://導入聲音頭文件

#pragma comment(lib,"winmm.lib")//導入聲音頭文件庫

1、直接播出聲音文件:

PlaySound("c:\\win95\\media\\The Microsoft Sound.wav", NULL, SND_FILENAME | SND_ASYNC);
注重:參數中的路徑使用兩個(gè)連續的反斜杠轉義代表一個(gè)反斜杠。

2、把聲音文件加入到資源中,然后從資源中播放聲音:

Visual C++支持WAVE型資源,用戶(hù)在資源視圖中單擊鼠標右鍵并選擇Import命令,然后在文件選擇對話(huà)框中選擇The Microsoft Sound.wav文件,則該文件就會(huì )被加入到WAVE資源中。假定聲音資源的ID為IDR_STARTWIN,則下面的調用同樣會(huì )輸出啟動(dòng)聲音:
PlaySound((LPCTSTR)IDR_STARTWIN, AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC);

或:

PlaySound(MAKEINTRESOURCE(IDR_WAVE2),AfxGetResourceHandle(),SND_ASYNC|SND_RESOURCE|SND_NODEFAULT|SND_LOOP);//將聲音文件寫(xiě)入到程序中
3、用PlaySound播放系統聲音:

Windows啟動(dòng)的聲音是由SystemStart定義的系統聲音,因此可以用下面的方法播放啟動(dòng)聲音:
PlaySound("SystemStart",NULL,SND_ALIAS|SND_ASYNC);
            

sndPlaySound函數的聲明為:
BOOL sndPlaySound(LPCSTR lpszSound, UINT fuSound);

用法:

除了不能指定資源名字外,參數lpszSound與PlaySound的是一樣的。參數fuSound是如何播放聲音的標志,可以是SND_ASYNC、SND_LOOP、SND_MEMORY、SND_NODEFAULT、SND_NOSTOP和SND_SYNC的組合,這些標志的含義與PlaySound的一樣。
可以看出,sndPlaySound不能直接播放聲音資源。要用該函數播放WAVE文件,可按下面的方式調用:
sndPlaySound("MYSOUND.WAV",SND_ASYNC);

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
函數PlaySound和sndPlaySound的用法
VC 中播放聲音wav
delphi 播放聲音 采用 異步方式,比較流暢
(引用)VB中使用API函數sndPlaySound
VB.NET播放WAV實(shí)現方法介紹
HOOK (轉)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久