gstreamer playbin - настройка uri на windows - PullRequest
2 голосов
/ 07 февраля 2010

Я пытаюсь воспроизвести некоторые аудиофайлы с примером 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 ]

9 голосов
/ 07 февраля 2010

Как вы могли подозревать, этот код написан довольно плохо:

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

Используйте что-то вроде этого:

'file:' + urllib.pathname2url(filepath)

и (в командной строке) укажите путь к файлу в обычной записи Windows, например, C:\a\b.mp3.

4 голосов
/ 07 февраля 2010

Заметили ли вы фактический путь, который вы получили file:///C:/file:/C:/voice.mp3?

Правильный путь должен быть: file:///C:/path/to/voice.mp3.

...