0
如果沒有安裝攝像機子系統,則Kivy在解析examples/camera.py
演示的攝像機小部件時會崩潰。沒有崩潰,是否有電話查看是否會找到相機供應商?如何檢測Kivy是否安裝了攝像頭?
這裏是跟蹤:
[DEBUG ] [Camera ] Ignored <avfoundation> (import error)
[DEBUG ] [Camera ] Ignored <opencv> (import error)
[CRITICAL ] [Camera ] Unable to find any valuable Camera provider at all!
[INFO ] [Text ] Provider: pygame
Traceback (most recent call last):
File "camera.py", line 33, in <module>
CameraApp().run()
File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/app.py", line 766, in run
root = self.build()
File "camera.py", line 29, in build
return Builder.load_string(kv)
File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/lang.py", line 1522, in load_string
self._apply_rule(widget, parser.root, parser.root)
File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/lang.py", line 1704, in _apply_rule
e))
kivy.lang.BuilderException: Parser: File "<inline>", line 7:
...
5: Camera:
6: id: camera
>> 7: resolution: 399, 299
8:
9: BoxLayout:
...
TypeError: 'NoneType' object is not callable
不幸的是,這是行不通的。由於級聯錯誤的一些奇怪的副作用:1)「嚴重錯誤」被報告爲導入kivy.uix.camera.Camera的副作用; 2)創建相機對象不會產生錯誤。 3)將分辨率設置爲[-1,-1]不會產生錯誤。 4)play = True或play = False不會產生錯誤。即使顯示相機小部件也不會產生錯誤,但只是一個空白屏幕。只嘗試將不存在的相機設置爲特定值會導致錯誤。 – 2014-12-25 07:57:53
它看起來像我可以欺騙,並看看cam._camera,看看它是否爲無。 – 2014-12-25 08:49:08
如果你不介意_你發現你做了這些工作,我會將其添加到上面的答案中,以保存給其他人。 – 2014-12-25 08:52:31