如何在Pygame中的特定秒钟开始播放音乐

时间:2013-12-27 04:35:28

标签: python pygame mixer

我在看API:

http://www.pygame.org/docs/ref/music.html#pygame.mixer.music.play

它说我可以在某个位置开始播放这首歌。但是,有两件事情中的一件发生。歌曲从一开始就正常播放,或者播放时非常模糊。我不确定为什么我的结果也会出现不一致。

pygame.mixer.music.load("music/Glorious Morning 2.mp3")
#pygame.mixer.music.set_pos(52.0)#this won't work either
pygame.mixer.music.play(-1, 52.0)

我不确定为什么它不起作用。难道我做错了什么?还有另一种方法可以在特定的时间启动音乐吗?

2 个答案:

答案 0 :(得分:1)

我的Python版本是2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]。我不确定Pygame版本是什么,但我刚刚更新了Python和Pygame并且它有效!

答案 1 :(得分:0)

这是在Windows 10和Android上均经过测试的有效代码段。请注意,音乐文件是mp3!

import pygame.mixer

#SOUND_FILE = 'c:/temp/JMJ.mp3'
SOUND_FILE = '/storage/emulated/0/music/JMJ.mp3'

pygame.mixer.pre_init(44100, -16, 2, 2048)
pygame.mixer.init()

pygame.mixer.music.load(SOUND_FILE)
pygame.mixer.music.play(loops=0, start=1626) # 1626 seconds from beginning

while pygame.mixer.music.get_busy():
    pygame.event.wait()