我正在与 Sikuli 合作,它(我认为)是建立在 Jython 之上的。我想制作一个脚本,发出轻微的哔哔声以吸引用户的注意力。(这是在 Windows 上。)
我怎样才能做到这一点?我看到该winsound
模块在 Jython 上不可用。
(注意我要使用声卡,而不是内置蜂鸣器。)
If its Jython, then just use any of the Java classes that play sound. There are tons of them.
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)
您可以使用命令行执行以下操作:
执行 "copy con beep.txt" 输入 [ctrl+G] 作为输入然后 [ctrl+Z] 然后按 [Enter] 退出
然后运行“type beep.txt”,你会听到哔声。
您可以将“type beep.txt”放在批处理文件中,或者直接批量使用 Ctrl+G(这会在命令行中产生带声音的错误)
由于我们可以访问 Sikuli 中的 Java 级别(感谢 Jython),这应该主要工作:
import java.awt.Toolkit # only once per script
java.awt.Toolkit.getDefaultToolkit().beep()
测试在 Windows 7 上通过。您可能会在此处获得一些详细说明。
如果您从命令行运行 Sikuli 脚本,而不是通过 IDE,那么您只需将BEL
字符写入控制台,它就会发出哔哔声。这也适用于 RDP。
编辑:在 Windows 7 上,这将按照您的要求通过声卡发出哔哔声。在 Windows XP 上,它会向内部扬声器(如果存在)发出哔哔声。
例如,以下哔哔声两次:
print("\007\007")
由于您使用的是 Sikuli,您可以执行以下操作。
在 Windows 机器的桌面上添加任何媒体文件,例如任何 .mp3,将文件关联到媒体播放器。捕获图像并包括:
点击(模式(desktopnoiseicon.png)
你可以使用 openApp(C:\noise.mp3) 执行相同的任务
Sikuli 能够找到许多解决方法
在 SikuluXrc2 中,您甚至可以从代码中指向 URL,而无需设置捆绑路径
由于您要求一个简单的 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()