Windows编程之多媒体
一、語音接口的使用:
第一步,安裝MSSpeech SDK。
MSSpeech SDK可從網(wǎng)絡(luò)課堂安裝,也可在微軟公司直接下載,安裝完畢后具有了語音處理能力。
安裝過程全選默認(rèn)即可。
安裝完畢后,在開始菜單中會增加MS Speech SDK 5.1,選擇其中的tools->TTSAPP可用來測試語音安裝是否正常
第二步,增加中文處理。
安裝中文語言包(可從網(wǎng)絡(luò)課堂安裝,也可在微軟公司直接下載)。安裝選項(xiàng)可僅選擇安裝中文語音。安裝完畢后可處理中文。
在安裝完畢后可從TTSAPP中voice下拉框中找到中文簡體。
若希望得到高質(zhì)量的語音,或希望可處理繁體中文,可選擇安裝高質(zhì)量庫(網(wǎng)絡(luò)課堂里有)也可在網(wǎng)上搜索相關(guān)語音庫。
第三步。在VC6.0中添加相關(guān)路徑:
進(jìn)入VC,選擇Tools->Options(VC中文版為工具->選項(xiàng))得到如下對話框。尋找Directories(中文版為路徑),在右邊選擇include路徑。雙擊下方路徑表中空行,可輸入speechSDK 的include路徑。點(diǎn)擊右邊的 按鈕可幫助選擇路徑。如圖。
類似地再添加Library路徑:
注意要選擇lib目錄下的386目錄。
第四步 編寫程序測試
下例中提供了三個函數(shù)。InitVoice初始化朗讀,ReleaseVoice結(jié)束朗讀,必須成對使用。在main函數(shù)執(zhí)行時(shí)可多次使用Speak.。兩個全局變量是語音需要,勿刪除。
二、音樂輸出
#include <atlbase.h> #include <sapi.h> #include <sphelper.h>CComPtr<ISpVoice> pVoice; HRESULT hr; int InitVoice() {CComPtr<IEnumSpObjectTokens> pEnum;CComPtr<ISpObjectToken> pVoiceToken;int i;::CoInitialize(NULL);if(FAILED(hr=SpEnumTokens(SPCAT_VOICES,L"Language=804",NULL,&pEnum)))return 0;for(i=0;i<1;i++) //這里可以根據(jù)已安裝的語音庫,多循環(huán)幾次以變更語音{pVoiceToken.Release();pEnum->Next(1, &pVoiceToken, NULL);}if(FAILED(hr=pVoice.CoCreateInstance(CLSID_SpVoice)))return 0;if(FAILED(hr = pVoice->SetVoice(pVoiceToken)))return 0;return 1; } void ReleaseVoice() {pVoice.Release();CoUninitialize(); } void Speak(char *Txt) {CSpDynamicString s(Txt);pVoice->Speak(s,0,0); } void main(int argc, char* argv[]) {if(!InitVoice())return ;Speak("123中文");ReleaseVoice(); }使用C語言調(diào)用多媒體庫來輸出音樂有多種方法,這里介紹最簡單的WAV波形文件播放.直接使用Win32庫函數(shù)PlaySound即可播放音樂。
首先向工程中添加庫函數(shù)的頭文件:
#include <mmsystem.h> #pragma comment(lib,"winmm.lib") //其次在需要播放的時(shí)候,添加PlaySound函數(shù)調(diào)用: LPCTSTR path = _T("D:\\mp3\\030 Kaoma_-_Lambada.wav"); PlaySound(path, NULL, SND_FILENAME | SND_ASYNC);即可播放音樂,當(dāng)需要停止音樂時(shí),可以用空路徑再次調(diào)用PlaySound即可.
PlaySound(NULL,NULL, SND_FILENAME | SND_ASYNC);總結(jié)
以上是生活随笔為你收集整理的Windows编程之多媒体的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抖音小三文案(推荐89句)
- 下一篇: Windows编程之调用Matlab