gpt4 book ai didi

python - Pygame电影每隔一次播放就没有声音

转载 作者:行者123 更新时间:2023-12-02 22:40:16 24 4
gpt4 key购买 nike

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

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

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

在一段时间内循环传感器可以触发这样的视频播放:
pygame.display.init()               
movie = pygame.movie.Movie(path)
if movie.has_video():
screen = pygame.display.set_mode(movie.get_size())
pygame.display.update()

movie.set_display(screen)
movie.set_volume(0.99)

movie.play()

while movie.get_busy():
time.sleep(.100)

pygame.display.quit()

电影第一次播放时,声音可用。第二次没有声音,第三次声音又可以正常工作了……以此类推。

如果我在 pygame.display.init 之后使用 pygame.mixer.get_init 检查混音器是否已初始化,则返回 false。

另外,如果我将 pygame.mixer.quit() 放入循环中,视频会变得非常慢(也没有声音),并且会在一段时间后完全停止。

最佳答案

也许比答案更多的解决方法:

在播放多部电影时,我让 pygame.movi​​​​e 继续播放声音的唯一方法是:

  • 在我创作我的第一部电影之前,我调用 pygame.mixer.quit()
  • 每当我想播放新电影时,我都会调用movie = pygame.movie.Movie('SOMEOTHERVIDEO.MPG') 2次。
  • 它很奇怪,但对我来说,这是我让它工作的唯一方法。这是在 win7/python3
  • 如果我删除 movie=,我发现这个解决方法停止工作特别奇怪。从 2 次调用中的第一次到 pygame.movie.Movie('SOMENEWVIDEO.MPG') .

  • 无论如何,这里有一些对我有用的代码:
    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()

    关于python - Pygame电影每隔一次播放就没有声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27398788/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com