我得到了以下代码:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
self.window = UIWindow()
let viewController = UIViewController()
viewController.view.backgroundColor = .white
self.window?.rootViewController = viewController
self.window?.makeKeyAndVisible()
return true
}
当我想使用以下方式播放声音a_0 = pygame.mixer.sound("a.mp3",)
a = pygame.mixer.music
b_0 = pygame.mixer.music.load("b.mp3")
b = pygame.mixer.music
c_0 = pygame.mixer.music.load("c.mp3",)
c = pygame.mixer.music
d_0 = pygame.mixer.music.load("d.mp3")
d = pygame.mixer.music
e_0 = pygame.mixer.music.load("e.mp3",)
e = pygame.mixer.music
时:
d (that emans d.mp3)
它仅播放列表的最后一个声音,这意味着d.play()
而不是e.mp3
。
我在这里做错了什么?
答案 0 :(得分:1)
pygame.music.mixer.load()
不返回任何内容。因此,您不能将其分配给变量。它加载到混音器中,并准备播放。 Documentation
您需要具有要播放的歌曲的列表或字典,然后每当要播放一首歌曲时,都需要将其加载到调音台中并播放:
def play_song(name):
pygame.mixer.music.load(name)
pygame.mixer.music.set_volume(0.3) # you can also set the volume
pygame.mixer.music.play(loops=-1)
这是专门针对mixer.music
的。
pygame.mixer.Sound
返回一个Sound对象,您可以将其保存以备后用:documentation。因此,您可以将声音目录加载到python列表中。
sounds_list = []
sounds_list.append(pygame.mixer.Sound('gun_fire.wav'))
sounds_list.append(pygame.mixer.Sound('coin_pickup.wav'))
# add more sounds