我对使用Sox有疑问。我需要混合许多音频文件,每个文件都有自己的特定时间添加。我正在使用管道,一切正常,直到需要用文件夹名称中带有空格的绝对路径抓取文件为止。在这种情况下,我需要使用双引号两次(在路径中并分配管道)。例子如下:

-m "initial.wav" "|sox "path with spaces\file1.mp3" -p pad 8.52 0" "|sox "another path with spaces\file2.mp3" -p pad 19.07 0" "|sox "file3.mp3" -p pad 36.52 0" "output.mp3"

当然,这些在文件路径周围的引号会破坏命令。
我怎样才能解决这个问题?也许有可能以某种方式使用单引号,或者我缺少明显的东西...

补充一下,我正在从C#应用程序运行sox,因此这可能会很有用,因此一切都在Windows中发生。

最佳答案

通常,可以以某种方式转义内部双引号。 (大多数?)* nix shell为此使用反斜杠,即,您将编写... "|sox \"path with spaces/file1.mp3\" ..."。当然,Windows将反斜杠用于不同目的(分隔路径组件),因此转义引号的方式可能略有不同。

关于c# - Sox绝对路径和管道,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18397039/

10-12 15:22