我怎样才能用python发出声音?

2024-04-18 03:56:03 发布

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

我试图用winsound libry发出声音,但我的系统无法识别它。。。 我可以用python编写一个不安装新库就能发出声音的代码吗?

我寻找了一些解决办法,但我所找到的都不管用。 我需要一个包含在python包中的库。

import winsound
winsound.Beep(300,2000)

Tags: 代码import系统beep试图用解决办法winsoundlibry
3条回答

你可以播放mp3。。。 但这需要一个图书馆

一个很好的例子是:- Playing mp3 song on python

from pygame import mixer # Load the required library

mixer.init()
mixer.music.load('e:/LOCAL/Betrayer/Metalik Klinik1-Anak Sekolah.mp3')
mixer.music.play() 

第一:你的操作系统是什么?根据文档winsound“访问Windows平台提供的基本声音播放机器”。所以winsound只起作用 在Windows上,因此如果您是一个LINUXUNIX您必须找到另一种方法。

秒:如果您只想听到“哔哔”声,那么“发出声音”是什么意思?您可以使用操作系统模块(或子进程)中的“哔哔”声并用“操作系统”调用它,如下所示:

import os

os.system('play --no-show-progress --null --channels 1 synth %s sine
%f' %( 0.1, 400))

你必须安装beep(它是一个“高级”的pc扬声器beeper),安装取决于你的系统Mac/OSX,Linux(Ubuntu/Debian,Fedora,Archlinux),BSD? 在Ubuntu/Debian上:sudo apt get install beep

更新#2 @沙哈尔,根据doc你做了正确的事。

您可以捕捉python向您提出的错误,以找出错误所在

try:
    import winsound
    winsound.Beep(400, 1000)
except RuntimeError:
    print("The system is not able to beep the speaker")
except ImportError:
    print("Can't import winsound module")

上面的代码适用于python2.7和python3,但是万一你的python版本是什么呢? 我在windows上使用python3.5.3,代码工作起来很有魅力。

您可以尝试跨平台打印。这将把ASCII Bell字符发送到stdout,并希望生成一个beep(表示“alert”)。

甚至Windows也有自己的Beep API,它允许您发送任意长度和音调的Beep。请注意,这是一个仅限Windows的解决方案,因此您可能更喜欢打印“\a”,除非您真正关心赫兹和毫秒。

通过winsound模块访问Beep API: Link to Python Winsound Library

相关问题 更多 >