Pygame电影每隔一段时间播放没有声音

2024-06-16 15:44:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我对pygame视频在python脚本中的声音有问题

在循环之前,我这样初始化它:

pygame.init()
pygame.mixer.quit()

在一个while循环中,传感器可以触发这样的视频播放:

^{pr2}$

电影第一次播放时,声音是可用的。第二次没有声音,第三次声音又恢复正常了。。。等等。在

如果我检查之后pygame.display.init与pygame.mixer.get_init如果混频器初始化,则返回false。在

如果我把pygame.mixer.quit.退出()在循环内,视频速度非常慢(也没有声音),一段时间后完全停止。在


Tags: 脚本false声音get视频电影initdisplay
1条回答
网友
1楼 · 发布于 2024-06-16 15:44:36

与其说是一个答案,不如说是一个变通办法:

我唯一的办法就是游戏.电影要在播放多部电影时继续播放声音,请执行以下操作:

  • 在创建我的第一部电影之前,我调用pygame.mixer.quit()

  • 每当我想播放一部新电影时,我会调用movie = pygame.movie.Movie('SOMEOTHERVIDEO.MPG')两次。

  • 这很奇怪,但对我来说这是我唯一能让它工作的方法。这是win7/python3上的

  • 尤其是当第一个任务停止时。

总之,这里有一些对我有用的代码:

import pygame

FPS = 60

pygame.init()
clock = pygame.time.Clock()
pygame.mixer.quit()
movie = pygame.movie.Movie('SOMEVIDEO.mpg')
screen = pygame.display.set_mode(movie.get_size())
movie_screen = pygame.Surface(movie.get_size()).convert()

movie.set_display(movie_screen)
movie.play()

cnt = 0
playing = True
while playing:
    cnt+=1
    if cnt>=500:
        cnt=0
        movie.stop()
        movie = pygame.movie.Movie('SOMEOTHERVIDEO.mpg')
        movie = pygame.movie.Movie('SOMEOTHERVIDEO.mpg')
        movie_screen = pygame.Surface(movie.get_size()).convert()
        movie.set_display(movie_screen)
        movie.play()
    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()

相关问题 更多 >