Pygame 播放电影
Pygame在其最新版本中已经停止了对视频文件的支持。然而,在Python 2.7发行版上的早期版本,它仍然可以使用。在本节中,我们使用了Pygame 1.9.2 和 Python 2.7.18。
pygame.movie模块支持从基本编码的MPEG-1视频文件中播放视频和音频。电影播放在后台线程中进行,这使得播放易于管理。如果要播放电影的声音,用于加载和播放声音模块的 pygame.mixerpygame 模块必须被取消初始化。
To begin with obtain a Movie object by following syntax −
movie = pygame.movie.Movie('sample.mpg')
电影类提供了以下方法来控制播放。
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.have_audio | 检查电影文件是否包含音频 |
pygame.movie.Movie.set_volume | 设置音频播放的音量 |
pygame.movie.Movie.set_display | 设置视频目标表面 |
以下代码在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()