• 艾尔欧唯伊
    2018-10-06
    为什么pygame 必须要开启窗口才能播放音乐,去掉pygame.display.set_mode()就没有声音。另外死循环是因为防止程序自己关闭么?
    
    
  • 换你睡床右边
    2018-07-16
    补一个坑吧,可能我和作者用的版本不太一样,有时候代码会有一些差异才能在我这边运行,在pygame.mixer.load可以加载包括mp3在内的音频,而pygame.mixer.Sound却不能加载mp3。小白填坑中🤔

    作者回复: 不能加载有很多原因,可以说得更明白点看看代码

    
    
  • 三硝基甲苯
    2018-07-08
    pygame.mixer.init()

    songs = ["sugar-1.mp3","sugar-2.mp3","sugar-3.mp3"]

    current = 0



    while True:



        if not (pygame.mixer.music.get_busy()):

            pygame.mixer.music.load(songs[current])

            pygame.mixer.music.set_volume(0.5)

            pygame.mixer.music.play()

            current = current + 1

            if current > len(songs) - 1:

                current = 0

                

        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                pygame.quit()


    看了一眼doc。试了一下 感觉这样应该没啥问题了。只是感觉写在循环里。 如果以后游戏做大了会出事情吧。
    展开

    作者回复: 真的大型游戏也不会真的拿来做代码测试用

    
    
  • wusiration
    2018-07-07
    当音乐播放完成时,调用pygame.mixer.music.set_endevent()函数,发送一个事件标志。同时,在循环中,当监听到播放结束的事件标志后,开始加载另外一首歌并播放。

    pygame.mixer.music.load("a.mp3")

    pygame.mixer.music.set_endevent(pygame.USEREVENT)

    pygame.mixer.music.play()

    while True:

       for event in pygame.event.get():

          if event.type == pygame.USEREVENT:

                pygame.mixer.music.load("b.mp3")

                pygame.mixer.music.play()

    pygame文档中说pygame.mixer.music.queue()也可以实现该要求,但是在使用中根本没起作用。
    展开
    
    
  • zhu见见
    2018-07-05
    有源代码地址吗
    
    
我们在线,来聊聊吧