首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用shell_exe保存Sox输出统计信息

使用shell_exe保存Sox输出统计信息
EN

Stack Overflow用户
提问于 2014-10-31 08:33:47
回答 2查看 718关注 0票数 0

我快被这玩意儿搞疯了。我使用sox来转换文件,裁剪它们,应用一些效果,等等。

我正在使用php脚本调用程序,它运行正常,除非我试图检索输出信息,例如获取文件的统计数据并将其保存在变量中:

代码语言:javascript
复制
<?php
exec("/usr/bin/sox uploads/jingle.wav -n stat", $outputrms);
                var_dump($outputrms);
?>

//also tried

<?php
$outputrms = shell_exec("/usr/bin/sox uploads/jingle.wav -n stats");
                var_dump($outputrms);
?>

总是得到空响应或空数组。如果我转到命令行,它可以完美地显示:

代码语言:javascript
复制
             Overall     Left      Right
DC offset   0.003469  0.003469  0.003469
Min level  -0.971375 -0.971375 -0.971313
Max level   0.999969  0.999969  0.999969
Pk lev dB      -0.00     -0.00     -0.00
RMS lev dB    -14.37    -14.37    -14.37
RMS Pk dB      -5.94     -5.94     -5.94
RMS Tr dB     -66.86    -66.86    -66.86
Crest factor       -      5.23      5.23
Flat factor     0.00      0.00      0.00
Pk count           7         7         7
Bit-depth      16/16     16/16     16/16
Num samples     136k
Length s       3.082
Scale max   1.000000
Window s       0.050

我做错了什么?

问候

EN

回答 2

Stack Overflow用户

发布于 2014-11-09 08:08:37

sox似乎将输出作为警告输出发送,而不是标准输出。我只是在代码末尾添加了2>&1,这就解决了这个问题。

代码语言:javascript
复制
<?php
exec("/usr/bin/sox uploads/jingle.wav -n stat", $outputrms 2>&1);
                var_dump($outputrms);
?>
票数 1
EN

Stack Overflow用户

发布于 2017-05-16 23:15:50

代码语言:javascript
复制
exec('sox assets/test.mp3 -n stat 2>&1', $output);
print_r($output);

使用2>&1是可以的,我不知道为什么.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26665731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档