Windows编程之多媒体
一、語音接口的使用:
第一步,安裝MSSpeech SDK。
MSSpeech SDK可從網絡課堂安裝,也可在微軟公司直接下載,安裝完畢后具有了語音處理能力。
安裝過程全選默認即可。
安裝完畢后,在開始菜單中會增加MS Speech SDK 5.1,選擇其中的tools->TTSAPP可用來測試語音安裝是否正常
第二步,增加中文處理。
安裝中文語言包(可從網絡課堂安裝,也可在微軟公司直接下載)。安裝選項可僅選擇安裝中文語音。安裝完畢后可處理中文。
在安裝完畢后可從TTSAPP中voice下拉框中找到中文簡體。
若希望得到高質量的語音,或希望可處理繁體中文,可選擇安裝高質量庫(網絡課堂里有)也可在網上搜索相關語音庫。
第三步。在VC6.0中添加相關路徑:
進入VC,選擇Tools->Options(VC中文版為工具->選項)得到如下對話框。尋找Directories(中文版為路徑),在右邊選擇include路徑。雙擊下方路徑表中空行,可輸入speechSDK 的include路徑。點擊右邊的 按鈕可幫助選擇路徑。如圖。
類似地再添加Library路徑:
注意要選擇lib目錄下的386目錄。
第四步 編寫程序測試
下例中提供了三個函數。InitVoice初始化朗讀,ReleaseVoice結束朗讀,必須成對使用。在main函數執行時可多次使用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++) //這里可以根據已安裝的語音庫,多循環幾次以變更語音{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語言調用多媒體庫來輸出音樂有多種方法,這里介紹最簡單的WAV波形文件播放.直接使用Win32庫函數PlaySound即可播放音樂。
首先向工程中添加庫函數的頭文件:
#include <mmsystem.h> #pragma comment(lib,"winmm.lib") //其次在需要播放的時候,添加PlaySound函數調用: LPCTSTR path = _T("D:\\mp3\\030 Kaoma_-_Lambada.wav"); PlaySound(path, NULL, SND_FILENAME | SND_ASYNC);即可播放音樂,當需要停止音樂時,可以用空路徑再次調用PlaySound即可.
PlaySound(NULL,NULL, SND_FILENAME | SND_ASYNC);總結
以上是生活随笔為你收集整理的Windows编程之多媒体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抖音小三文案(推荐89句)
- 下一篇: Windows编程之调用Matlab