簡體   English   中英

如何使用pygame.mixer重復音樂?

[英]How do I repeat music using pygame.mixer?

我創建了以下使用pygame.mixer播放mp3音樂的代碼。 但是,音樂不會重復。 關於如何使音樂重復播放的任何想法? 這是代碼:

playlist = list()
playlist.append ( "put music here.mp3" )
playlist.append ( "put music here.mp3" )

pygame.mixer.music.load ( playlist.pop() )  
pygame.mixer.music.queue ( playlist.pop() )
pygame.mixer.music.set_endevent ( pygame.USEREVENT )  
pygame.mixer.music.play()           

a = 0

running = True
while a == 0:
   while running:
      for event in pygame.event.get():
         if event.type == pygame.USEREVENT:    
            if len ( playlist ) >1:       
               pygame.mixer.music.queue ( playlist.pop() )`

根據pygame文檔,您可以為pygame.mixer.music.play()傳入-1以無限期地重復播放音樂。

pygame.mixer.music.play(loops=-1)

給我錯誤:

pygame.mixer.music.play(loops=-1)
TypeError: play() takes no keyword arguments

所做的只是傳遞數字:

pygame.mixer.music.play(-1)

希望它能對某人有所幫助!

要播放X次音樂,請使用pygame.mixer.music.play(X) ,即:

import pygame
pygame.init()
pygame.display.set_mode(pygame.display.list_modes()[-1]) # smallest resolution available
pygame.mixer.init()
pygame.mixer.music.load("test.wav")
pygame.mixer.music.play(5) # repeat 5 times
pygame.mixer.music.queue("test2.wav")   # queue test2.wav after test.wav plays 5 times
clock = pygame.time.Clock()
clock.tick(10)
while pygame.mixer.music.get_busy():
    pygame.event.poll()
    clock.tick(10)

PS:

  • 在創建display后,我才能使用pygame播放音樂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM