如何使用同一导入modu的多个实例

2024-04-30 01:41:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在两个不同的实例中使用import模块

[Python]

import pygame
[...]
player1 = pygame.mixer
player1.init()
player1.music.load('file1.mp3')    
player1.music.play()
[...]
player2 = pygame.mixer
player2.init()
player2.music.load('file2.mp3')    
player2.music.play()

我想同时播放file1.mp3和file2.mp3,但这种编码方式先开始播放file1.mp3,然后开始播放file2.mp3(file1.mp3已停止) 我想同时演奏它们,而不是一个接着另一个


Tags: 模块实例importplayinitmusicloadpygame
1条回答
网友
1楼 · 发布于 2024-04-30 01:41:08

这是pygame的一种限制,它使用.mp3格式的文件来并行地再现声音。我在这里找到这个信息:Pygame - Play sounds simultaneously

为了实现您的结果,有必要将格式从.mp3更改为.wav或.ogg

请参见下面的示例:

import pygame

pygame.mixer.init()

sounds = [pygame.mixer.Sound('file1.wav'),
          pygame.mixer.Sound('file2.wav')]
channels = [sound.play() for sound in sounds]

while any(channel.get_busy() for channel in channels):
    print('Playing ...')
    pygame.time.wait(100)

print('Finished')

相关问题 更多 >