Pygame - 播放影片
Pygame 在其最新版本中已停止支持视频文件。 但是,在 Python 2.7 发行版的早期版本中,它仍然可以使用。 对于本节,使用了 Pygame 1.9.2 和 Python 2.7.18。
pygame.movie 模块支持播放来自基本编码 MPEG-1 视频文件的视频和音频。 影片播放发生在后台线程中,这使得播放易于管理。 如果要播放影片的声音,则必须取消初始化用于加载和播放声音模块的 pygame.mixerpygame 模块。
首先通过以下语法获取 Movie 对象 −
movie = pygame.movie.Movie('sample.mpg')
Movie 类提供了以下方法来控制播放。
pygame.movie.Movie.play | 开始播放影片 |
pygame.movie.Movie.stop | 停止影片播放 |
pygame.movie.Movie.pause | 暂停和恢复播放 |
pygame.movie.Movie.skip | 前进影片播放位置 |
pygame.movie.Movie.rewind | 重启影片播放 |
pygame.movie.Movie.get_time | 获取当前视频播放时间 |
pygame.movie.Movie.get_length | 影片的总长度,以秒为单位 |
pygame.movie.Movie.get_size | 获取视频的分辨率 |
pygame.movie.Movie.has_audio | 检查影片文件是否包含音频 |
pygame.movie.Movie.set_volume | 设置音频播放音量 |
pygame.movie.Movie.set_display | 设置视频目标Surface |
以下代码在 Pygame 显示窗口中播放一个 .MPG 文件。 −
import pygame FPS = 60 pygame.init() clock = pygame.time.Clock() movie = pygame.movie.Movie('sample_640x360.mpg') screen = pygame.display.set_mode(movie.get_size()) movie_screen = pygame.Surface(movie.get_size()).convert() movie.set_display(movie_screen) movie.play() playing = True while playing: for event in pygame.event.get(): if event.type == pygame.QUIT: movie.stop() playing = False screen.blit(movie_screen,(0,0)) pygame.display.update() clock.tick(FPS) pygame.quit()