我需要将多个 mp3 文件连接在一起,然后调整音量,然后通过 aplay 播放。我目前使用以下 3 个命令执行此操作
sox file1.mp3 file2.mp3 file3.mp3 out1.wav
sox -v 0.5 out1.wav out2.wav
aplay -D plughw:1,0 out2.wav
这可以正常工作,唯一的小问题是它会创建临时文件,我知道这可以通过将所有这些命令以某种方式连接在一起来完成。有点像。
sox file1.mp3 file2.mp3 file3.mp3 | sox -v 0.5 | aplay -D plughw:1,0
但似乎无法让管道正常工作(我不是真正的 Linux 用户)任何帮助将不胜感激:)
您可以使用“-”选项告诉 sox 将输出发送到标准输出。但是,根据 sox 手册,您必须指定输出类型,例如 wav。然后你还必须告诉 aplay 它正在接收的类型。我不确定如何将 sox 通过管道传输到 sox 然后播放,但我已经使用过
sox -v 0.75 example.wav -t wav - | aplay -D sysdefault:1 -t wav