python用winsound模块播放音乐


刷完这60个标准库模块,成为Python骨灰级玩家

Beep

winsound是Windows的音频工具接口,可以实现简单的音频播放功能。

其中最简单的是播放正弦波,Beep,其输入为正弦波频率以及持续时间,例如

import winsound as ws
ws.Beep(440,1000)

此即播放1秒440Hz的正弦波。

MessageBeep

MessageBeep则可以调用注册表中指定的音频,这与Windows的设置有关,其输入值为

winsound.十进制值
-1
MB_ICONASTERISK64
MB_ICONEXCLAMATION48
MB_ICONHAND16
MB_ICONQUESTION32
MB_OK0

当然,如果想听到这些声音,需要确保Windows主题中的声音设置并没有选择无声。

PlaySound

若想播放音乐,则可使用PlaySound(sound, flags)函数,其中sound可以为文件名或系统音频的别名,flags可选参数如下

winsound.数值功能
SND_ALIAS65536指定系统音频别名,与SND_FILENAME冲突
SND_FILENAME131072指明WAV文件名,与SND_ALIAS冲突
SND_APPLICATION128用应用程序指定的关联来播放声音
SND_ASYNC1允许异步播放音频
SND_LOOP8循环播放,为避免阻塞,须同时使用SND_ASYNC
SND_MEMORY4播放WAV文件的内存镜像,与SND_ASYNC冲突
SND_NODEFAULT2若找不到指定音频,不播放系统默认音频
SND_NOSTOP16不打断正在播放的音频
SND_NOWAIT8192若音频驱动程序已经使用,则立即返回
SND_PURGE64停止播放指定音频

如果想实用多个flags,则通过or来进行运算。

例如

import winsound as ws
ws.PlaySound('test.wav',SND_ASYNC or SND_FILENAME)

则可播放test.wav这个文件。

由于win10似乎并不支持SND_PURGE,所以运行之后就只能等待播放结束了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微小冷

请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值