freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

wav文件處理(編輯修改稿)

2024-10-11 20:37 本頁面
 

【文章內(nèi)容簡介】 文件 WAVE聲音文件一個最基本的操作就是將文件中的聲音數(shù)據(jù)播放出來,用 Windows提供的 API函數(shù) BOOL sndPlaySound(LPCSTR lpszSound, UINT fuSound)可以實現(xiàn)小型 WAV文件的播放,其中參數(shù) lpszSound 為所要播放的聲音文件, fuSound為播放聲音文件時所用的標(biāo)志位。例如實現(xiàn) 文件的異步播放,只要調(diào)用函數(shù)sndPlaySound(c:\windows\,SND_ASYNC)就可以了,由此可以看到sndPlaySound函數(shù)使用是很簡單的。但是當(dāng) WAVE文件大于 100K時,這時候系統(tǒng)無法將聲音數(shù)據(jù)一次性的讀入內(nèi)存, sndPlaySound函數(shù)就不能進(jìn)行播放了。為 了解決這個問題,你的一個選擇就是用 MCI方法來操作聲音文件了。在使用 MCI方法之前,首先需要在你開發(fā)的項目設(shè)置 ProjectSettingLinkObject/library modules中加入 。并在頭文件中包括 頭文件。 MicroSoft API提供了 MCI( The Media Control Interface)的方法 mciSendCommand()和 mciSendString()來完成 WAVE文件的播放,這里僅介紹 mciSendCommand()函數(shù)的使用。 原型: DWORD mciSendCommand( UINT wDeviceID, UINT wMessage, DWORD dwParam1,DWORD dwParam2); 參數(shù): wDeviceID:接受消息的設(shè)備 ID; Message: MCI命令消息; wParam1:命令的標(biāo)志位; wParam2:所使用參數(shù)塊的指針 返值:調(diào)用成功,返回零;否則,返回雙字中的低字存放有錯誤信息。 在使用 MCI播放聲音文件時,首先要打開音頻設(shè)備,為此要定義 MCI_OPEN_PARMS變量 OpenParms,并設(shè)置該結(jié)構(gòu)的相應(yīng)分量: = (LPCSTR) MCI_DEVTYPE_WAVEFORM_AUDIO。//WAVE 類型 = (LPCSTR) Filename。//打開的聲音文件名; = 0。//打開的音頻設(shè)備的 ID mciSendCommand (NULL, MCI_OPEN,MCI_WAIT | MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID | MCI_OPEN_ELEMENT, (DWORD)(LPVOID) amp。OpenParms)函數(shù)調(diào)用發(fā)送 MCI_OPEN命令后,返回的參數(shù) OpenParms 中成員變量的 wDeviceID 指明打開了哪個設(shè)備。需要關(guān)閉音頻設(shè)備時只要調(diào)用 mciSendCommand (m_wDeviceID, MCI_CLOSE, NULL, NULL)就可以了。 播放 WAVE文件時,需要定義 MCI_PLAY_PARMS變量 PlayParms,對該變量進(jìn)行如下設(shè)置: = 0,這是為了指定從什么地方(時間)播放 WAVE 文件,設(shè)置好以后,調(diào) 用 函 數(shù) mciSendCommand (m_wDeviceID, MCI_PLAY,MCI_FROM, (DWORD)(LPVOID)amp。PlayParms));就實現(xiàn)了 WAVE聲音文件的播放。 另外,調(diào)用 mciSendCommand (m_wDeviceID, MCI_PAUSE, 0,(DWORD)(LPVOID)amp。PlayParms)實現(xiàn)了暫停功能。調(diào)用 mciSendCommand (m_wDeviceID, MCI_STOP, NULL, NULL)實現(xiàn)停止功能等,可以看出,這些不同的功能實現(xiàn)都是依靠參數(shù) Message取不同的值來實現(xiàn)的。 不同的 Message和 dwParam dwParam2的組合還可以實現(xiàn)文件的 跳躍功能。如下面的代碼實現(xiàn) 了跳 轉(zhuǎn)到 WAVE 文 件末 端的 操作 : mciSendCommand (m_wDeviceID, MCI_SEEK, MCI_SEEK_TO_END, NULL)。 DirectSound操作 WAVE文件的方法 MCI雖 然調(diào)用簡單,功能強大,可以滿足聲音文件處理的基本需要,但是 MCI也有它的缺點,那就是它一次只能播放一個 WAVE 文件,有時在實際應(yīng)用中,為了實現(xiàn)混音效果,需要同時播放兩個或兩個以上的 WAVE文件時,就需要使用微軟 DirectX技術(shù)中的 DirectSound了,該技術(shù)直接操作底層聲卡設(shè)備,可以實現(xiàn)八個以上 WAV文件的同時播放。 實現(xiàn) DirectSound 需要以下幾個步驟 : DirectSound; 的聲音設(shè)備優(yōu)先級別方式 ,一般為 DSSCL_NORMAL; 2. 將 WAV文件讀入內(nèi) 存 ,找到格式塊、數(shù)據(jù)塊位置及數(shù)據(jù)長度; ; ; : 二、編程步驟 啟動 Visual C++ 生成一個單文檔視圖結(jié)構(gòu)的應(yīng)用程序,將該程序命名為playsound; 在程序的主菜單中添加 MCI Play、
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1