私はPython 2.6とPyGST(最近Python 2.6で利用可能)を実行しています。私はすべてのプラグインをインストールしました - 良い、悪い、醜い。私はこのモジュールを実行すると、ファイルを開こうとするとPyGSTプラグインがありませんか?
import sys, os
import pygtk, gtk, gobject
import pygst
pygst.require("0.10")
import gst
class GTK_Main:
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("Audio-Player")
window.set_default_size(300, -1)
window.connect("destroy", gtk.main_quit, "WM destroy")
vbox = gtk.VBox()
window.add(vbox)
self.entry = gtk.Entry()
vbox.pack_start(self.entry, False, True)
self.button = gtk.Button("Start")
self.button.connect("clicked", self.start_stop)
vbox.add(self.button)
window.show_all()
self.player = gst.element_factory_make("playbin2", "player")
fakesink = gst.element_factory_make("fakesink", "fakesink")
self.player.set_property("video_sink", fakesink)
bus = self.player.get_bus()
bus.add_signal_watch()
bus.connect("message", self.on_message)
def start_stop(self, w):
if self.button.get_label() == "Start":
filepath = self.entry.get_text()
if os.path.isfile(filepath):
self.button.set_label("Stop")
self.player.set_property("uri", filepath)
self.player.set_state(gst.STATE_PLAYING)
else:
self.player.set_state(gst.STATE_NULL)
self.button.set_label("Start")
def on_message(self, bus, message):
t = message.type
if t == gst.MESSAGE_EOS:
self.player.set_state(gst.STATE_NULL)
self.button.set_label("Start")
elif t == gst.MESSAGE_ERROR:
self.player.set_state(gst.STATE_NULL)
err, debug = message.parse_error()
print "Error: %s" % err, debug
self.button.set_label("Start")
GTK_Main()
gtk.gdk.threads_init()
gtk.main()
は、しかし、私は次のエラーを取得する:
は、私は、次のコードを持っています。
Error: Your GStreamer installation is missing a plug-in. ..........\Source\gst-plugins-base\gst\playback\gsturidecodebin.c(991): gen_source_element(): /GstPlayBin2:player/GstURIDecodeBin:uridecodebin0
これを修正するにはどうすればよいですか?
EDIT:最初の答えはUbuntuで動作しますが、それはWindows上で動作しません。 Windowsの問題を解決する人にはBountyが授与されます。あなたが必要なもの
私は行を変更し、エラーメッセージが変更されました。パス:C:\ Users \ user \ Downloads \ Overcome.mp3。エラー:読み取りのためにリソースを開くことができませんでした。 .. \ .. \ .. \ .. \ .. \ソース\ GST-プラグインベース\ extに\ GIO \ gstgiosrc.c(324):gst_gio_src_get_stream():/ GstPlayBin2:プレーヤー/ GstURIDecodeBin:uridecodebin0/GstGioSrc:ソース: を開けませんでした場所のファイル:/// C:/ GTKTutorial /ファイル:エラー開くファイル:/ C:読書のための/Users/user/Downloads/Overcome.mp3無効な引数 – CodeMouse92
あなたがパスを入力している意味:「 C:\ Users \ user \ Downloads \ Overcome.mp3 'というエラーメッセージが表示され、file:/// C:/ GTKTutorial/file:/ C:/Users/user/Downloads/Overcome.mp3にあるファイルは表示されません。存在する?パスの最初の部分はどこから来たのですか? – xubuntix
私は知らない...私は両方の方法を試みたが、問題はまだそこにある。 self.player.set_property: – CodeMouse92