def yin_pin_bo_fang(yin_pin_wen_jian): #播放音频文件 global yin_pin_bo_fang_cxh yin_pin_bo_fang_cxh = pygame.mixer yin_pin_bo_fang_cxh.init() # 初始化 yin_pin_bo_fang_cxh.Sound(yin_pin_wen_jian).play() # 加载音乐并播放 time.sleep(1) #等待一秒 def bo_fang_jian_ce(): global bo_fang_jian_ce_fan_hui_zhi bo_fang_jian_ce_fan_hui_zhi = yin_pin_bo_fang_cxh.music.get_busy() #print(bo_fang_jian_ce_fan_hui_zhi)
时间: 2023-11-27 10:05:29 浏览: 73
你的`yin_pin_bo_fang`函数中,你使用了`yin_pin_bo_fang_cxh.Sound(yin_pin_wen_jian).play()`播放音频文件,这个函数会立即开始播放音频文件并返回一个`Sound`对象。但是,你在这个函数后面加了一个`time.sleep(1)`的语句,让程序暂停了一秒钟。这个暂停的时间可能会导致在此期间调用`pygame.mixer.music.get_busy()`函数时返回False,因为这个函数的返回值只有在音频播放完毕后才会变为False。
如果你想要使用`pygame.mixer.music.get_busy()`函数来检查当前是否有音频正在播放,可以尝试将`yin_pin_bo_fang`函数中的暂停语句去掉,如下所示:
```python
def yin_pin_bo_fang(yin_pin_wen_jian):
# 播放音频文件
global yin_pin_bo_fang_cxh
yin_pin_bo_fang_cxh = pygame.mixer
yin_pin_bo_fang_cxh.init() # 初始化
yin_pin_bo_fang_cxh.music.load(yin_pin_wen_jian) # 加载音乐
yin_pin_bo_fang_cxh.music.play() # 播放音乐
```
这个函数使用`pygame.mixer.music.load`函数加载音频文件,并使用`pygame.mixer.music.play`函数播放音频文件。这个函数执行后不会阻塞程序,所以可以立即调用`pygame.mixer.music.get_busy()`函数来检查当前是否有音频正在播放。
阅读全文