在 Linux 中通过 PHP 使用 SoX

Posted

技术标签:

【中文标题】在 Linux 中通过 PHP 使用 SoX【英文标题】:Using SoX in Linux with PHP 【发布时间】:2015-11-03 13:56:26 【问题描述】:

我正在尝试使用 Sox lib 在 php 中混合(连接)两个声音文件。我可以在 MacOS 上使用命令行来完成;

./sox -m sound1.wav sound2.wav output.wav

我也在我的网络服务器上尝试这个。我从 Sox 官方页面sox-14.2.2.tar.gz 下载了压缩文件并将它们解压缩到我的服务器上。但是有很多文件,它不像在 MacOS 上。我认为sox.1文件可以执行,并尝试了类似的东西;

echo exec('./sox.1 -m sound1.wav sound2.wav output.wav');

但它只返回第 108 行中的文本。我认为它不可执行。我现在被困在这里。我需要在 PHP 中连接 2 个声音文件。

如果有什么办法请告诉我?

【问题讨论】:

您下载的.gz 文件只是SoX 的源代码。 sox.1 文件不会做你想要的——它是一个包含 SoX 的 man 页面(文档)的文本文件。要让 SoX 在您的服务器上运行,您需要在您的服务器上编译源代码,从而创建可执行文件。 【参考方案1】:

您已经下载了源代码,但现在需要构建、制作和安装才能在您的网络服务器上使用 sox。

tar -xvf sox-14.2.2.tar.gz 

这将提取它,然后在提取的文件夹中运行./configure,然后运行make,然后运行make install。在此阶段将看到任何部门或问题。全部安装完成后,您就可以像在 Mac 上一样在网络服务器上使用 sox。 所以你需要像

echo exec('sox -m sound1.wav sound2.wav output.wav');

【讨论】:

以上是关于在 Linux 中通过 PHP 使用 SoX的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 中通过 SSH 连接到 MySQL 服务器

如何在 php 中通过 gmail 使用 mail()

在 PHP 中通过引用返回

在Nginx中通过phpmyadmin将20mb SQL文件导入MySQL时,“连接已重置”

在 MongoDB 中通过 PHP 使用 NotIn 和正则表达式

在 PHP 中通过 ODBC(使用 PDO)查询雪花返回不正确的数据