我已经搜索过帮助并尝试了this thread上的所有内容,但仍无法使其正常运行。我正在尝试使用shell_exec()从我的PHP脚本运行sox(Sound eXchange)命令行实用程序。我需要连接两个音频文件,这两个文件都与PHP脚本位于同一目录中(即可以访问apache)。
这是混乱:
所以这适用于shell:
"/soxpath/sox /filepath/file1.wav /filepath/file2.wav /filepath/combined.wav"
但这不适用于PHP:
shell_exec('/soxpath/sox /filepath/file1.wav /filepath/file2.wav /filepath/combined.wav');
有人可以对此有所了解吗?我错过了什么?感谢。
答案 0 :(得分:0)
好的,我最终得到了它,所以我想我应该清除我创造的任何困惑。问题是无关紧要的。所以,是的,您可以使用shell_exec()从PHP运行sox命令。
我只是遇到了javascript的计时问题。我使用wami recorder在客户端捕获音频,然后将音频文件保存在服务器上。所以我的PHP脚本是在ajax调用处理程序的上下文中,根据定义它是异步的。应该早点意识到。
问题是当运行连接的sox命令时文件没有保存,所以自然它失败了因为文件还不存在。当我使呼叫同步时它起作用了。