繁体   English   中英

python3 gstreamer 1.0 uri 变为无

[英]python3 gstreamer 1.0 uri becomes none

这是错误还是预期的行为? 在我执行pipeline.set_state(gst.State.PLAYING)后,playbin 的 uri 变为None

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)

import gi
gi.require_version('Gst', '1.0')
gi.require_version('Gtk', '3.0')

from gi.repository import GObject, Gtk
from gi.repository import Gst as gst
from sys import exit

GObject.threads_init()
gst.init(None)

# Create the pipeline for our elements.

pipeline = gst.Pipeline()
# Create the elements for our project.

playbin = gst.ElementFactory.make('playbin', None)

uri = "file:///home/erm/disk2/acer-home/dwhelper/01%20some%20times.mp3"
playbin.set_property('uri', uri)
print("AFTER SET playbin.props.uri:", playbin.props.uri)
print("AFTER SET playbin.get_property('uri'):", playbin.get_property('uri'))
#
pipeline.add(playbin)

if (not pipeline or not playbin):
    print('Not all elements could be created.')
    exit(-1)

pipeline.set_state(gst.State.PLAYING)
# Becomes None
print("AFTER SET STATE playbin.props.uri:", playbin.props.uri)
print("AFTER SET STATE playbin.get_property('uri'):", playbin.get_property('uri'))

bus = pipeline.get_bus()

Gtk.main()

Output

AFTER SET playbin.props.uri: file:///home/erm/disk2/acer-home/dwhelper/01%20some%20times.mp3
AFTER SET playbin.get_property('uri'): file:///home/erm/disk2/acer-home/dwhelper/01%20some%20times.mp3
AFTER SET STATE playbin.props.uri: None
AFTER SET STATE playbin.get_property('uri'): None

相反,或者uri使用current-uri 有关更多信息,请参阅current-uri 文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM