前段時間下載了一個安卓應用“明星整點報時”,覺得挺好用。就想自己動手寫一個Windows上的報時軟件;
報時分兩種:
明星報時,也就是播放固定的語音文件;
語音報時,通過文字轉語音達到目的;
C#類System.Media. SoundPlayer可實現.wav文件的播放控制。
PlayAudio(=
但是無法播放wma,mp3等音頻。
因為我下載到的明星報時語音包多以wma和mp3為主,所以我使用另外一種方式來播放。
[System.Runtime.InteropServices.DllImport( mciSendString( lpstrCommand, lpstrReturnString, uReturnLength, PlayAudioByAPI(, , , + file + , , , , , ,
這裡使用了WindowsMediaPlayer的API,實現音頻文件的播放。只要你的WMP能播的音頻,就能在你程序中播放。
Windows有文字轉語音功能,C#提供了調用的類庫Interop.SpeechLib.dll。
使用方法很簡單,在你的項目中添加Interop.SpeechLib.dll引用,在類中引用:
SpeechLib;
添加方法:
Speek(= = Voice.GetVoices().Item(
Voice.GetVoices().Item(0); 可以通過下標選擇不同的語音引擎,這取決於你電腦上安裝的語音引擎數量;
注:在Win7系統以前,windows系統默認沒有安裝語音包(可打開“控制面板”->“語音識別”->“文字到語音轉換”查看),若沒有語音包,則此功能無法實現;
下載: Interop.SpeechLib
網絡上收集到的明星語音包:明星語音包