我正在尝试制作一个简单的php脚本,从用户输入文本,然后使用mac的终端'say'函数(文本到语音)朗读文本。
我所能找到的唯一专门针对这个问题的资源是2003年的
在该主题中建议的一个非常简单的解决方案是:
<html><body>
<form method="post">
Say: <input type="text" name="text" size="40">
<input type="submit">
</form>
</body></html>
<?php
if (isset($_POST['text'])) {
exec('say "'.$_POST['text'].'"');
}
?>
我试过用'system'代替'exec'没有运气。我真的不知道如何解决这个问题。会不会是有权限但没有密码的东西?如果你能帮助我找出为什么它不能工作,那就太好了,谢谢。
解决方案是使用say命令的-o选项,允许将输出保存在音频文件中。在这个链接中有一个bash脚本,可以从一个文件文本创建一个mp3文件;重新调整脚本以从文件中获取字符串是很简单的。你允许用户下载它或在一个网页上执行这个简单的代码<embed height="50" width="100" src="example.mp3">
将example.mp3替换为之前创建的mp3文件的路径