使用Python中的ffmpeg将mp3转换为wav

时间:2014-03-13 15:17:53

标签: python linux ffmpeg subprocess

我试图使用ffmpeg将Python中的mp3文件转换为wav文件。

我使用子进程调用它,如何将它的输出作为wav在运行时将其保存为文件(或在转换时播放)然后播放它?

这是我到目前为止所做的:

我只使用aplay作为例子。

FileLocation = "/home/file.mp3"

subprocess.call(["ffmpeg", "-i", FileLocation etc etc "newfail.wav"])
os.system("aplay ... ") #play it on the fly here

据我所知,如果我把" - "作为文件名,它会将其输出到stdout,但我不知道如何读取标准输出...

1 个答案:

答案 0 :(得分:1)

在没有shell的情况下模拟source arg1 arg2 | sink shell命令:

from subprocess import Popen, PIPE

source = Popen(['source', 'arg1', 'arg2'], stdout=PIPE)
sink = Popen(['sink'], stdin=source.stdout)
source.stdout.close()
source.wait()
sink.wait()