Python 电影式全屏

Python 电影式全屏,python,pygame,fullscreen,moviepy,Python,Pygame,Fullscreen,Moviepy,我正在创建一个简单的pygame,但找不到如何制作全屏的Moviepy预览剪辑。在我的开场电影中使用Moviepy。这是我的密码: import moviepy import os from moviepy.editor import * import pygame pygame.display.set_caption('Game title') os.environ["SDL_VIDEO_CENTERED"] = "1" clip = VideoFileClip('qq.mp4') c

我正在创建一个简单的pygame,但找不到如何制作全屏的Moviepy预览剪辑。在我的开场电影中使用Moviepy。这是我的密码:

import moviepy
import os
from moviepy.editor import *
import pygame

pygame.display.set_caption('Game title')

os.environ["SDL_VIDEO_CENTERED"] = "1"

clip = VideoFileClip('qq.mp4')

clip.preview()

execfile("startGame.py")

我不确定这是否是pygame中用于开放式全屏电影的最佳实践

我在Python\Python36-32\Lib\site packages\moviepy\video\io preview.py第94行中更改了

screen = pg.display.set_mode(clip.size)

并将剪辑的大小调整为我的分辨率(1280x800)。否则它会抛出一个错误

import pygame
from moviepy.editor import VideoFileClip
pygame.init ()
clip = VideoFileClip('Intro.mpg')
clipresized = clip.resize (height=700)
clipresized.preview ()
game_loop()
pygame.quit ()
quit()

我使用moviepy的原因与您相同,我的代码看起来非常像您的代码(这并不意味着它是正确的)。这并不是最好的方法,它会把游戏库搞得乱七八糟,用于其他用途,但它对我很有用。

你有没有试过从某个地方抓取实际的屏幕大小,然后调整pygame显示的大小以适应它?是的。我记不清代码了,但我确实试过很多这样的东西。它只需重新调整大小到其原始大小。然后,使用
clip.resize(height=screenheight)
或沿着这些线条的东西。如果屏幕宽高比与视频的宽高比不同,您可能希望在底部+顶部/侧面有一条黑色条纹?请参阅答案
import pygame
from moviepy.editor import VideoFileClip
pygame.init ()
clip = VideoFileClip('Intro.mpg')
clipresized = clip.resize (height=700)
clipresized.preview ()
game_loop()
pygame.quit ()
quit()