gstreamer playbin - 在窗户上设置uri

cpp*_*ppb 2 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
Run Code Online (Sandbox Code Playgroud)

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

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

self.player.set_property("uri", "file://" + filepath)
Run Code Online (Sandbox Code Playgroud)

谢谢!

Joh*_*gko 9

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

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

使用这样的东西:

'file:' + urllib.pathname2url(filepath)
Run Code Online (Sandbox Code Playgroud)

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