如果我跑
import pygame
pygame.mixer.pre_init(44100, -16,2,2048)
pygame.init()
print pygame.mixer.get_init()
或
import pygame
pygame.init()
pygame.mixer.init(44100, -16,2,2048)
print pygame.mixer.get_init()
或
import pygame
pygame.mixer.init(44100, -16,2,2048)
print pygame.mixer.get_init()
结果是: (22050,-16,2)
而不是(44100,-16,2)
为什么呢?我做错了什么?
答案 0 :(得分:0)
最可能的解释是,pygame.init()
使用默认值mixer
初始化(22050, -16, 2)
模块,除非找到pre_init()
。
第一段和第三段代码对我有用,并提供输出(44100, -16,2)
。
答案 1 :(得分:0)
即使再次调用pygame.mixer.init()
,看似init()
的值也是“粘性的”。再次在pygame.mixer.quit()
之前调用pygame.mixer.init()
使其对我有效:
>>> import pygame
>>> pygame.mixer.init()
>>> print(pygame.mixer.get_init())
(22050, -16, 2)
>>> # the following will essentially be ignored
>>> pygame.mixer.init(44100, -16, 2)
>>> print(pygame.mixer.get_init())
(22050, -16, 2)
>>> # calling quit() allows new parameters to be set
>>> pygame.mixer.quit()
>>> pygame.mixer.init(44100, -16, 2)
>>> print(pygame.mixer.get_init())
(44100, -16, 2)