PHP调用COM组件实现音频合成。
适用于windows系统,且系统不是阉割版的。可以先利用vb的一个小程序检测电脑是否带有微软语音组件:
新建文本文档,输入CreateObject("SAPI.SpVoice").Speak "English" 保存改后缀为vbs 。双击文件 如果听到English的声音,恭喜你可以使用。听不到的重新安装一个官方原版的系统。
define("SSFMCreateForWrite", 3);
$filename = 'hello.mp3';
$SpVoice = new COM("SAPI.SpVoice");$SpFileStream = new COM("SAPI.SpFileStream");$SpFileStream->Open($filename, SSFMCreateForWrite, false);//可用声音$_voices = $SpVoice->GetVoices();foreach ($_voices as $_voice) {echo $_voice->GetDescription() . "</br>";}// 语速$SpVoice->Rate = -3;//音量$SpVoice->Volume = 100;//发音者$SpVoice->Voice = $_voices[2];$SpVoice->AudioOutputStream = $SpFileStream;//输出语音$SpVoice->Speak("hello world");$SpFileStream->Close();
注意:NEOSPEECH安装包是32位的,不适用于64位环境!!!