Python:在背景中演奏音乐?

2024-07-07 03:27:42 发布

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

我正在用Python做一个游戏。我不使用PyGame,只使用控制台(非GUI) 当你开始游戏时,你会得到游戏的标志,以及很多关于你刚刚开始的“旅程”的信息。有很多文本,所以当文本滚动时,我想在后台播放一首歌。

我用以下代码开始音乐:

def new_game():
    import winsound
    winsound.PlaySound("intro.wav", winsound.SND_ALIAS)
    LVL1_INTRO()

唯一的问题是:在音乐停止播放之前,它不会继续LVL1_INTRO()。这是个问题,因为音乐大约有1-2分钟长。

有什么办法解决这个问题吗?音乐开始后,将继续使用LVL1_INTRO()

如果可能的话,如果有一个停止音乐的代码,我会很高兴的,所以我不需要开始削减音乐,并使它完全相同的长度作为介绍。

非常感谢!


Tags: 代码文本信息游戏new音乐标志def
2条回答

根据documentation可以使用SND_ASYNC标志。

winsound.SND_ASYNC 
Return immediately, allowing sounds to play asynchronously.

要停止播放,请使用NONE参数调用PlaySound

winsound.PlaySound(None, winsound.SND_ASYNC)

我对这个模块没有经验,但是看起来你可以异步播放声音。请参阅http://docs.python.org/2/library/winsound.html并查看SND_ASYNC。

相关问题 更多 >