gpt4 book ai didi

python - 在 Tkinter 中播放视频文件的方式?

转载 作者:太空狗 更新时间:2023-10-29 17:47:26 30 4
gpt4 key购买 nike

有没有办法播放像AVI这样的视频文件? , MP4 , ETC。?

我尝试使用 PyMedia , 但显然它只适用于 Pygame .

我的问题的解决方案是什么?

最佳答案

您可以使用 python-gstreamer 来播放视频(这对我来说适用于 Linux,但它也应该适用于 Windows)。这需要 python-gstreamerpython-gobject ,我建议您使用这个一体化安装程序。

代码如下:

import os
import sys
import Tkinter as tkinter

import gobject
import gst

def on_sync_message(bus, message, window_id):
if not message.structure is None:
if message.structure.get_name() == 'prepare-xwindow-id':
image_sink = message.src
image_sink.set_property('force-aspect-ratio', True)
image_sink.set_xwindow_id(window_id)

gobject.threads_init()

window = tkinter.Tk()
window.geometry('500x400')

video = tkinter.Frame(window, bg='#000000')
video.pack(side=tkinter.BOTTOM,anchor=tkinter.S,expand=tkinter.YES,fill=tkinter.BOTH)

window_id = video.winfo_id()

player = gst.element_factory_make('playbin2', 'player')
player.set_property('video-sink', None)
player.set_property('uri', 'file://%s' % (os.path.abspath(sys.argv[1])))
player.set_state(gst.STATE_PLAYING)

bus = player.get_bus()
bus.add_signal_watch()
bus.enable_sync_message_emission()
bus.connect('sync-message::element', on_sync_message, window_id)

window.mainloop()

关于python - 在 Tkinter 中播放视频文件的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7227162/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com