pygletライブラリを使用してpygameサーフェスにビデオを表示して、フレームをインポート、再生、および画像に変換しようとしています。avbin をインストールすることで何とか戦いましたが、コードで型エラーが発生しています
def cutscene(window_surface, filename):
player = pyglet.media.Player()
source = pyglet.media.load(filename)
player.queue(source)
player.play()
pygame.display.flip()
while True:
window_surface.fill(0)
player.dispatch_events()
tex = player.get_texture()
raw = tex.get_image_data().get_data('RGBA',tex.width*4)
raw = ctypes.string_at(ctypes.addressof(raw), ctypes.sizeof(raw))
img = pygame.image.frombuffer(raw, (tex.width, tex.height), 'RGBA')
window_surface.blit(img, (0,0))
pygame.display.flip()
実行すると、次のエラーが表示されます
Traceback (most recent call last):
File "dino_game.py", line 348, in <module>
main()
File "dino_game.py", line 45, in main
cutscene(window_surface, "Cutscenes/Cutscene1.mov")
File "dino_game.py", line 68, in cutscene
raw = tex.get_image_data().get_data('RGBA',tex.width*4)
AttributeError: 'NoneType' object has no attribute 'get_image_data'
何をしても解決しないようです
編集:このファイルとpygletが提供するサンプルファイルの両方をテストした後、使用するファイルタイプに関係なくこのエラーが発生するようです.これはpygletまたはAVbinのインストールエラーでしょうか?