Pygame 播放视频【movie模块已被弃用】

这篇博客介绍了Pygame中movie模块已弃用的情况,提供了快捷使用方法及问题原因,包括StackOverflow上的讨论和Pygame官网的更新信息。作者分享了其他播放视频的方式,并给出了可行的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Pygame播放视频

目录

1. 快捷使用
2. 问题&原因
3. 其它方式
4. 总结

一、快捷使用
from moviepy.editor import *
import pygame

pygame.display.set_caption('Hello World!')

clip = VideoFileClip('生.flv')
clip.preview()

pygame.quit()

效果如下,播放完视频后,它会自动关窗口:
在这里插入图片描述
参考链接:How can I play a mp4 movie using Moviepy and Pygame

二、问题&原因
1.在 stackoverflow 上找到的问题和原因,翻译后贴在这里:

问题1:
pygame模块消失了
我目前正在使用RPi 3B(最新的Raspbian Jessie)进行一个涉及播放简短.mp4文件的小项目。 由于Pygame似乎支持播放.mpg文件,因此我将视频转换为该格式。

当我尝试导入电影模块时,我得到常见的python导入错误:

Traceback (most recent call last):
    File "film_app.py", line 3, in <module>
       import pygame.movie
ImportError: No module named movie

经过一些研究,我认为其他人有与此处描述的相同的问题。我真的不明白是否有解决方案,或者我在RPi上有什么替代方案。 Pygame,python和Raspbian都是最新的。

回答1:
movie不是pygame的子包
像这样使用它:

movie = pygame.movie.Movie("file.mpg")

但是,请注意:
movie api已被弃用,你的pygame很可能不会包含任何代码。这段代码将仅仅抛出 NotImplementedError 异常。悲惨的是,你再也不能像这样使用 movie 模块了。在这里,Lenard Lindstrom 解释说:

        “虽然没有适当的记录,pygame.movi​​e模块已经被弃用了一段时间,并且默认情况下不再被构建。使用ffmpeg将视频文件转换为MPEG1的文档说明已经过时了。我构建的movie模块已经被构建并经过测试32位Linux Mint 17.1(Ubuntu 14.04.2 LTS,Trusty Tahr)并使用avconv(ffmpeg的一个分支)在从MPEG4转换的电影上测试它; pygame出现了故障。另请注意,pygame.movi​​e在Windows下存在问题。
        基于ffmpeg的更新的实验性pygame._movie模块在Linux上从未为我工作过;它会锁定。此外,libav现在比Linux上的ffmpeg更受欢迎。此外,它依赖于SDL覆盖,它会在SDL2中消失。
作为旁注,pygame.examples.movi​​eplayer被重新用于使用pygame._movie而不是pygame.movi​​e。这一变化没有被记录。
        我喜欢在Pygame中支持movie的想法。但pygame.movi​​e使用过时的smpeg库,而pygame._movie从未正常工作过。也许可以根据现有的命令行电影播放器​​程序编写另一个movie模块。“

参考链接:Pygame.movie missing

问题2:
作为我的第一个使用pygame和Python 3.3的项目,我一直在制作一个简单的塔防游戏。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值