Pygame 播放电影
Pygame在其最新版本中停止支持视频文件。然而,在Python 2.7版本的早期版本中,仍然可以使用它。在本节中,使用了Pygame 1.9.2和Python 2.7.18版本。
pygame.movie模块支持播放基本编码的MPEG-1视频文件的视频和音频。电影播放发生在后台线程中,这使得播放更容易管理。如果要播放电影的声音,必须取消初始化pygame.mixer模块用于加载和播放声音。
首先,通过以下语法获取一个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 | 设置视频目标表面 |
以下代码在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()