【发布时间】:2014-03-10 23:04:25
【问题描述】:
我正在尝试截取电影的每一帧以进行其他处理。 但是,当我运行它时,我得到的只是打印出的换行符。 在我以任何方式杀死程序后,我得到一个分段错误(核心转储)
为什么会发生分段错误?我的代码或 pygame 或其他什么?
为什么我不能从程序中得到一些文本?
使用 Python 2.7,Ubuntu
import sys
import os
if sys.platform == 'win32' and sys.getwindowsversion()[0] >= 5:
os.environ['SDL_VIDEODRIVER'] = 'windib'
import pygame
pygame.init()
pygame.mixer.quit()
movie = pygame.movie.Movie(sys.argv[1])
screen = pygame.display.set_mode(movie.get_size())
movie.set_display(screen)
movie.play()
while movie.get_busy():
print pygame.image.tostring(screen, 'RGB', False)
if pygame.event.peek(pygame.QUIT):
pygame.quit()
exit()
pygame.event.clear()
movie.stop()
pygame.quit()
这是我的第一个问题,如果我遗漏了什么,请说:)
【问题讨论】:
-
我不知道截图位(我稍后会看)但我可以看到一些问题:1)我不确定你的 QUIT 事件是否真的打破了你的循环。它会退出 pygame,但由于您仍处于循环中,当您尝试运行 pygame 方法时,它会给您一个错误。 2)你有两次
pygame.quit()。 3)exit()是否意味着sys.exit()? -
我相信 exit() 和 sys.exit() 是可以互换的,不是吗?
-
这不是我的理解 - 但后来我只看到了这个帖子:stackoverflow.com/questions/6501121/…
标签: python pygame screenshot movie