php实现文本朗读
使用PHP实现文本朗读
PHP本身不具备直接朗读文本的功能,但可以通过调用外部API或系统工具实现。以下是几种常见方法:
调用文本转语音(TTS) API
利用第三方API如Google Text-to-Speech、IBM Watson或Microsoft Azure Cognitive Services:
// 示例:使用Google TTS API
$text = "Hello world";
$audioContent = file_get_contents(
"http://translate.google.com/translate_tts?ie=UTF-8&client=gtx&q=" .
urlencode($text) . "&tl=en"
);
file_put_contents('output.mp3', $audioContent);
需注意大多数API需要注册获取API key。

使用系统命令行工具
在服务器安装TTS工具后通过exec()调用:
// Linux系统使用espeak
$text = "Hello world";
exec("espeak -v en \"$text\" --stdout > output.wav");
// macOS使用say命令
exec("say -o output.aac \"$text\"");
确保PHP有执行系统命令的权限。

浏览器端配合实现
通过PHP生成包含Web Speech API的HTML页面:
$text = "Hello world";
echo <<<HTML
<script>
const utterance = new SpeechSynthesisUtterance("$text");
window.speechSynthesis.speak(utterance);
</script>
HTML;
这种方法依赖浏览器支持,无需服务器处理。
注意事项
- 在线API方案需要网络连接且可能产生费用
- 命令行方案需确保服务器安装相应软件
- 音频输出格式需根据使用场景选择(MP3/WAV等)
- 考虑文本长度限制,长文本需分段处理
每种方法适用于不同场景,可根据项目需求选择合适方案。






