我正在尝试使用ffmpeg将Python中的mp3文件动态转换为wav文件。
我用subprocess调用它,我如何得到它的输出,以便在不将其保存为文件(或在其转换时播放)的情况下将其动态播放为wav,然后再播放它?
这就是我目前所拥有的:
我只是举个例子。

FileLocation = "/home/file.mp3"

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

据我所知,如果我将“-”作为文件名,它将输出它,而不是标准输出,但我不知道如何读取标准输出。。。

最佳答案

要模拟不带shell的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()

关于python - 在Python中使用ffmpeg即时将mp3转换为wav,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22383099/

10-15 01:42