使用GStreamer将wav转换为mp3(反之亦然)

1 投票
2 回答
4352 浏览
提问于 2025-04-15 18:42

我正在使用Python的Gstreamer库,想用下面的流程把一个wav文件转换成mp3格式。我参考了这个问题中的一个建议,并做了一些修改(因为使用原来的语法时出现了一些错误)

    gst.parse_launch("filesrc location=C:\\music.wav ! decodebin 
! audioconvert !  lame ! filesink location=C:\\music.mp3")

当我在Python中运行这段代码时,没有出现错误。但是,它并没有生成music.mp3这个文件。

我还需要做些什么才能创建一个新的music.mp3文件呢?

2 个回答

0

如果你没有成功让这个工作起来,我建议你使用ffmpeg来转换你的文件。ffmpeg非常高效,而且是开源的。你可以找到一个适用于Windows的版本,叫做WinFF,你可以通过命令行来操作它。

1

你的流程设置是对的,或者说,你选择的元素和属性是正确的。

问题很可能出在你代码的其他部分。你有没有把流程设置为 gst.STATE_PLAYING 呢?

pipeline = gst.parse_launch("filesrc location=C:\\music.wav ! decodebin ! audioconvert !  lame ! filesink location=C:\\music.mp3")
pipeline.set_state(gst.STATE_PLAYING)

还有很多其他常见的错误可能会出现,发一下你的完整源代码会很有帮助!

撰写回答