gstreamer playbin - 在窗户上设置uri

时间:2010-02-07 05:33:16

标签: python gstreamer

我正在尝试使用此网站上的CLI示例播放一些音频文件:

http://pygstdocs.berlios.de/pygst-tutorial/playbin.html http://pygstdocs.berlios.de/pygst-tutorial/playbin.html

我在Windows上,在阅读文件时出错。我指定了 以下路径:

$ python cliplayer.py C:\\voice.mp3

0:00:00.125000000  3788   009DA010 ERROR                basesrc
gstbasesrc.c:2834:gst_base_src_activate_pull:<source> Failed to start in
pull mode
Error: Could not open resource for reading.
..\..\..\Source\gst-plugins-base\ext\gio\gstgiosrc.c(324):
gst_gio_src_get_stream ():
/GstPlayBin2:player/GstURIDecodeBin:uridecodebin0/GstGioSrc:source:
Could not open location file:///C:/file:/C:/voice.mp3 for reading: Error
opening file: Invalid argument

我应该如何在Windows上指定文件路径?

另外,在这行代码中我需要做些什么特别的事情吗?

self.player.set_property("uri", "file://" + filepath)

谢谢!

2 个答案:

答案 0 :(得分:9)

正如您可能怀疑的那样,这段代码编写得很糟糕:

for filepath in sys.argv[1:]:
    # ...
    self.player.set_property("uri", "file://" + filepath)

使用类似的东西:

'file:' + urllib.pathname2url(filepath)

和(在命令行中)以正常的Windows表示法指定文件路径,例如C:\a\b.mp3

答案 1 :(得分:4)

您是否注意到您的实际路径是file:///C:/file:/C:/voice.mp3

正确的路径应为:file:///C:/path/to/voice.mp3