当我单击调用函数(v_player)播放公司视频的按钮时,出现此错误:
在kivy.lib.gstplayer._gstplayer.GstPlayer.load中的文件“ kivy / lib / gstplayer / _gstplayer.pyx”,第233行 kivy.lib.gstplayer._gstplayer.GstPlayerException:无法创建播放箱
我正在使用PyCharm(2019.1.1)在Mac(Mojave版本:10.14.5)上进行开发。
项目解释器:(Python 3.7)
Cython 0.29.7
猕猴桃1.10.1
Kivy-Garden 0.1.4
Pygments 2.3.1
认证2019.3.9
chardet 3.0.4
docopt 0.6.2
docutils 0.14
未来0.17.1
gstreamer-player 1.1.2
idna 2.8
诱变剂1.42.0
openstep-parser
pbxproj 2.5.1
点19.0.3
要求2.21.0
setuptools 40.8.0
urllib3 1.24.2
轮0.33.1
我已经检查了安装,更新或重新安装了软件包: gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
我也这样做了: (所做的工作是在我的kivy安装中删除了“ gstplayer”。在您进行kivy安装的地方是“ site-packages / kivy / lib / gstplayer”中的某些位置,请再次执行rm -R site-packages / kivy / lib / gstplayer,该路径应替换为本地安装路径。
基于本期在kivy github网站上的评论。该目录称为“ gstreamer”。在我的安装中,它被称为“ gstplayer”。) 而不适合我。
Ptyhon代码:
class Presentation(Screen):
def v_player(self):
if App.get_running_app().play == 0:
App.get_running_app().play = 1
App.get_running_app().video = Video(source='data/video/video.mp4')
App.get_running_app().video.state = 'play'
App.get_running_app().video.allow_stretch = True
self.add_widget(App.get_running_app().video)
else:
App.get_running_app().play = 1
.kv代码:
FloatLayout:
ImageButton:
source: 'data/icons/playback_play_icon48.png'
size_hint: .5, .5
pos_hint: {'center_y': 0.50, 'center_x': 0.50}
on_press: root.v_player()
我在Google上已经读了很多书,重新安装了所有内容,并尝试了上述几种解决方案,但仍无法解决问题
有什么主意吗? 预先感谢
如果我尝试使用此命令播放视频,我也会收到错误消息:
python3 -m kivy.uix.videoplayer Library/Python/3.7/share/kivy-examples/widgets/cityCC0.mpg
我收到此错误:
[INFO ] Logger: Record log in /Users/PC/.kivy/logs/kivy_19-07-05_6.txt
[INFO ] Kivy: v1.10.1
[INFO ] Python: v3.7.3 (default, Mar 27 2019, 09:23:15)
[Clang 10.0.1 (clang-1001.0.46.3)]
[INFO ] Factory: 194 symbols loaded
[INFO ] Image: Providers: img_tex, img_imageio, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
[INFO ] Text: Provider: sdl2
[INFO ] VideoGstplayer: Using Gstreamer 1.10.4.0
[INFO ] Video: Provider: gstplayer
[INFO ] Window: Provider: sdl2
[INFO ] GL: Using the "OpenGL ES 2" graphics system
[INFO ] GL: Backend used <gl>
[INFO ] GL: OpenGL version <b'2.1 INTEL-12.9.22'>
[INFO ] GL: OpenGL vendor <b'Intel Inc.'>
[INFO ] GL: OpenGL renderer <b'Intel(R) Iris(TM) Plus Graphics 640'>
[INFO ] GL: OpenGL parsed version: 2, 1
[INFO ] GL: Shading version <b'1.20'>
[INFO ] GL: Texture max size <16384>
[INFO ] GL: Texture max units <16>
[INFO ] Window: auto add sdl2 input provider
[INFO ] Window: virtual keyboard not allowed, single mode, not docked
[INFO ] GL: NPOT texture support is available
[INFO ] Base: Start application main loop
[ERROR ] Image: Error loading texture Library/Python/3.7/share/kivy-examples/widgets/cityCC0.mpg
[INFO ] Base: Leaving application in progress...
[WARNING] stderr: Traceback (most recent call last):
[WARNING] stderr: File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py", line 193, in _run_module_as_main
[WARNING] stderr: "__main__", mod_spec)
[WARNING] stderr: File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py", line 85, in _run_code
[WARNING] stderr: exec(code, run_globals)
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/uix/videoplayer.py", line 677, in <module>
[WARNING] stderr: runTouchApp(player)
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/base.py", line 502, in runTouchApp
[WARNING] stderr: EventLoop.window.mainloop()
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/window/window_sdl2.py", line 727, in mainloop
[WARNING] stderr: self._mainloop()
[WARNING] stderr: File "/Users/PCLibrary/Python/3.7/lib/python/site-packages/kivy/core/window/window_sdl2.py", line 460, in _mainloop
[WARNING] stderr: EventLoop.idle()
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/base.py", line 346, in idle
[WARNING] stderr: Clock.tick_draw()
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/clock.py", line 588, in tick_draw
[WARNING] stderr: self._process_events_before_frame()
[WARNING] stderr: File "kivy/_clock.pyx", line 427, in kivy._clock.CyClockBase._process_events_before_frame
[WARNING] stderr: File "kivy/_clock.pyx", line 467, in kivy._clock.CyClockBase._process_events_before_frame
[WARNING] stderr: File "kivy/_clock.pyx", line 465, in kivy._clock.CyClockBase._process_events_before_frame
[WARNING] stderr: File "kivy/_clock.pyx", line 167, in kivy._clock.ClockEvent.tick
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/uix/video.py", line 183, in _do_video_load
[WARNING] stderr: self._video = CoreVideo(filename=filename, **self.options)
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/video/video_gstplayer.py", line 56, in __init__
[WARNING] stderr: super(VideoGstplayer, self).__init__(**kwargs)
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/video/__init__.py", line 84, in __init__
[WARNING] stderr: self.filename = kwargs.get('filename')
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/video/__init__.py", line 116, in <lambda>
[WARNING] stderr: lambda self, x: self._set_filename(x),
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/video/__init__.py", line 113, in _set_filename
[WARNING] stderr: self.load()
[WARNING] stderr: File "/Users/PC/Library/Python/3.7/lib/python/site-packages/kivy/core/video/video_gstplayer.py", line 68, in load
[WARNING] stderr: self.player.load()
[WARNING] stderr: File "kivy/lib/gstplayer/_gstplayer.pyx", line 233, in kivy.lib.gstplayer._gstplayer.GstPlayer.load
[WARNING] stderr: kivy.lib.gstplayer._gstplayer.GstPlayerException: Unable to create a playbin
我已逐步调试,在错误跳出并挂起应用程序之前,我所看到的唯一问题是:
“ NoneType”对象没有属性“ get_duration”
在文件上:video_gsplayer.py 在sefl属性中:
duration: = {str} 'Traceback (most recent call last):\n File "/Aplications/PyCharm CE.app/Contents/helpers/pydev/_pydevd_bundle/pydevd_resolver.py", line 178, in _getPyDictionary\n'attr = getattr(var...
有什么主意吗?