Mar*_*ham 78 python audio serial-port
我正试图让程序给我一个哔哔声.我在一台Windows机器上.我看过http://docs.python.org/library/winsound.html
但不知道如何使用条形码扫描仪对其进行编程.
这是我的串行条形码扫描器的代码.
ser = serial.Serial()
ser.baudrate = 9600
#for windows
ser.port = 2 #for COM3
ser.open()
ser.write('hello')
ser.close()
Run Code Online (Sandbox Code Playgroud)
更新:因为我用哔哔声扰乱了我的同事.我可以通过耳机的音频插孔来获取它吗?
Cya*_*ook 115
在Windows上,如果您只想让计算机发出哔声:
import winsound
frequency = 2500 # Set Frequency To 2500 Hertz
duration = 1000 # Set Duration To 1000 ms == 1 second
winsound.Beep(frequency, duration)
Run Code Online (Sandbox Code Playgroud)
该winsound.Beep()无论你希望发生蜂鸣可以使用.
jfo*_*erg 115
这种跨平台的方式是print '\a'.这会将ASCII Bell字符发送到stdout,并希望生成一个蜂鸣声(一个'警报').请注意,许多现代终端仿真器提供忽略铃声字符的选项.
因为你在Windows上,你会很高兴听到Windows有自己的(支持自己)Beep API,它允许你发出任意长度和音高的嘟嘟声.请注意,这是一个仅限Windows的解决方案,因此print '\a'除非您真的关心Hertz和毫秒,否则您应该更喜欢它.
Beep API可通过winsound模块访问:http://docs.python.org/library/winsound.html
c z*_*c z 21
有一个 Windows 答案和一个 Debian 答案,所以这是一个Mac答案:
这假设您只是在这里寻找一种快速的方法来制作可定制的警报声音,而不是特别是您在 Windows 上获得的压电蜂鸣声:
os.system( "say beep" )
Run Code Online (Sandbox Code Playgroud)
免责声明:如果您担心有人窃取您的哔声代码,您可以os.system通过调用subprocess模块来替换。
小智 20
Linux操作系统.
$ apt-get install beep
$ python
>>> os.system("beep -f 555 -l 460")
Run Code Online (Sandbox Code Playgroud)
要么
$ beep -f 659 -l 460 -n -f 784 -l 340 -n -f 659 -l 230 -n -f 659 -l 110 -n -f 880 -l 230 -n -f 659 -l 230 -n -f 587 -l 230 -n -f 659 -l 460 -n -f 988 -l 340 -n -f 659 -l 230 -n -f 659 -l 110 -n -f 1047-l 230 -n -f 988 -l 230 -n -f 784 -l 230 -n -f 659 -l 230 -n -f 988 -l 230 -n -f 1318 -l 230 -n -f 659 -l 110 -n -f 587 -l 230 -n -f 587 -l 110 -n -f 494 -l 230 -n -f 740 -l 230 -n -f 659 -l 460
Run Code Online (Sandbox Code Playgroud)
s4m*_*0o1 13
我正在寻找相同的但是对于Linux shell.
这个话题让我得到了答案 - 谢谢 -
也许更pythonic方式:
import os
beep = lambda x: os.system("echo -n '\a';sleep 0.2;" * x)
beep(3)
Run Code Online (Sandbox Code Playgroud)
备注:
os.system而不是subprocess.Popen为了简单(可能是坏的)echo没有更多的显示sleep是生成的文本序列所必需的(*x)Gui*_*abs 12
如果您想要塞尔达或马里奥主题的蜂鸣声:
!pip install chime
import chime
chime.theme('zelda')
chime.success()
chime.warning()
chime.error()
chime.info()
chime.notify_exceptions()
1/0
Run Code Online (Sandbox Code Playgroud)
Foo*_*167 10
跨平台方式:
import time
import sys
for i in range(1,6):
sys.stdout.write('\r\a{i}'.format(i=i))
sys.stdout.flush()
time.sleep(1)
sys.stdout.write('\n')
Run Code Online (Sandbox Code Playgroud)
感谢cz:
print(end='\a')
Run Code Online (Sandbox Code Playgroud)
我发现这个库很有帮助:安装 beepy,
pip install beepy
Run Code Online (Sandbox Code Playgroud)
有 6 种不同的声音选项,您可以在此处查看详细信息:https : //pypi.org/project/beepy/
代码片段以收听所有声音:
import beepy as beep
for ii in range(1,7):
beep.beep(ii)
Run Code Online (Sandbox Code Playgroud)
pygame任何平台上使用的好处pygame是它可以在任何操作系统平台上工作。下面的示例代码适用于 GNU/Linux。
首先按照此处的详细说明安装pygame模块。python3
$ sudo pip3 install pygame
Run Code Online (Sandbox Code Playgroud)
该pygame模块可以播放.wav和.ogg从任意文件位置的文件。下面是一个例子:
#!/usr/bin/env python3
import pygame
pygame.mixer.init()
sound = pygame.mixer.Sound('/usr/share/sounds/freedesktop/stereo/phone-incoming-call.oga')
sound.play()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
152450 次 |
| 最近记录: |