if-statement - 检查 PyGame 混合器 channel 是否正在播放声音

标签 if-statement audio pygame mixer

我正在寻找一种方法来查看pygame.mixer.Channel当前是否正在播放声音。例如,仅在特定 channel 中播放的声音结束后才执行某些操作。这是我当前播放声音的代码:

import pygame

pygame.mixer.pre_init()
pygame.mixer.init()
pygame.init()

pygame.mixer.Channel(0).play(pygame.mixer.Sound('coolsound.wav'), maxtime=2000)

我正在考虑这样的 if 语句:

if pygame.mixer.Channel(0) = playing a sound:
    print("playing a sound")
else:
    print("not playing")

显然这是行不通的,只是为了让你了解我在寻找什么。 谢谢!

最佳答案

我得到了答案。使用 get_busy() 我可以检查 channel 是否正在播放声音,它返回 True 或 False。这是我的最终代码:

if pygame.mixer.Channel(0).get_busy() == True:
    print("playing a sound")
else:
    print("not playing")

以下是有关详细信息的文档链接:https://www.pygame.org/docs/ref/mixer.html#pygame.mixer.get_busy

关于if-statement - 检查 PyGame 混合器 channel 是否正在播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54444765/

相关文章:

iphone - iPad视频播放仅提供音频,不提供视觉效果

python - 为什么 pygame 中的 collide_mask 比 collide_rect 慢很多?

python - 有时在乒乓球比赛中球不会从 Racket 上反弹

mysql - 将条件作为 IF 语句的结果应用于 MySQL

bash - 如何使用 bash shell 在 if 语句中检查特定文件类型

c# - Microsoft.DirectX.AudioVideoPlayback程序不起作用

python - 在pygame中发生碰撞后如何摆脱物体?

java - 是否应该为 if 语句创建变量?

c - 使用重复变量编写 if 条件的更有效方法

android - Android-播放音频时更改播放按钮的文本