我正在和Sikuli合作,我认为它是建立在Jython之上的。我想制作一个脚本,发出轻微的哔哔声以吸引用户的注意力。 (这是在Windows上。)
我该怎么做?我看到Jython上没有winsound
模块。
(请注意,我想使用声卡,而不是内置的蜂鸣器。)
答案 0 :(得分:3)
如果是Jython,那么只需使用任何播放声音的Java类。它们有很多。
from java import net from java.applet.Applet import newAudioClip from java import io url = io.File("fileName").toURL() audio = newAudioClip(url) audio.play()
import sun.audio
import java.io
inputStream = java.io.FileInputStream("test.wav")
audioStream = sun.audio.AudioStream(inputStream)
sun.audio.AudioPlayer.player.start(audioStream)
答案 1 :(得分:2)
您可以使用命令行进行fllowing:
执行“copy con beep.txt” 键入[ctrl + G]作为输入,然后按[ctrl + Z],然后按[Enter]退出
然后跑 “输入beep.txt” 你会听到一声哔哔声。
您可以在批处理文件中放置“type beep.txt”或直接批量使用Ctrl + G(这会在声音命令行中产生错误)
答案 2 :(得分:1)
由于我们可以访问Sikuli中的Java级别(感谢Jython),这应该主要起作用:
import java.awt.Toolkit # only once per script
java.awt.Toolkit.getDefaultToolkit().beep()
测试在Windows 7上传递。 您可能会得到一些详细的解释here。
答案 3 :(得分:0)
由于您使用的是Sikuli,您可以进行以下操作。
在Windows计算机的桌面上添加任何媒体文件,例如任何.mp3,将文件定位到媒体播放器。捕获图像并包括:
点击(图案(desktopnoiseicon.png)
alternatley你可以用openApp(C:\ noise.mp3)执行相同的任务
Sikuli能够找到许多变通方法
在SikuluXrc2中,您甚至可以从代码中指向一个URL,而无需设置包路径答案 4 :(得分:0)
如果您从命令行而不是通过IDE运行Sikuli脚本,那么您只需将BEL
字符写入控制台即可发出哔声。这也适用于RDP。
编辑,现在可以通过声卡发出蜂鸣声,正如您所要求的那样。在Windows XP上,它会发出内部扬声器(如果有)的声音。
E.g。以下发出两次哔声:
print("\007\007")
答案 5 :(得分:0)
因为你要求一个简单的Sikuli / Python脚本,我在Windows 10上自己测试了这个:
import java.awt.Toolkit
class Main():
def __init__(self):
# Ask user input.
nValue = input('Please enter a value:')
# Run the beep definition.
self.beepAway(nValue)
def beepAway(self, nValue):
# Beep nValue number of times, after each beep wait 2 seconds.
for i in range(int(nValue)):
java.awt.Toolkit.getDefaultToolkit().beep()
wait(2)
# Run class
Main()