Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Jython:在Windows上发出简单的嘟嘟声_Python_Windows_Audio_Jython_Sikuli - Fatal编程技术网

Python Jython:在Windows上发出简单的嘟嘟声

Python Jython:在Windows上发出简单的嘟嘟声,python,windows,audio,jython,sikuli,Python,Windows,Audio,Jython,Sikuli,我和Sikuli合作,这(我认为)是建立在Jython的基础上的。我想做一个脚本,做一个小的轻轻的嘟嘟声,以吸引用户的注意。(这是在Windows上。) 我该怎么做?我发现Jython上没有winsound模块 (请注意,我想使用声卡,而不是内置的寻呼机。)如果是Jython,那么只需使用播放声音的任何Java类即可。有很多。 from java import net from java.applet.Applet import newAudioClip from java import io

我和Sikuli合作,这(我认为)是建立在Jython的基础上的。我想做一个脚本,做一个小的轻轻的嘟嘟声,以吸引用户的注意。(这是在Windows上。)

我该怎么做?我发现Jython上没有
winsound
模块


(请注意,我想使用声卡,而不是内置的寻呼机。)

如果是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() 从java导入网 从java.applet.applet导入新音频剪辑 从java导入io url=io.File(“文件名”).toURL() 音频=新音频剪辑(url) 音频播放


导入sun.audio
导入java.io
inputStream=java.io.FileInputStream(“test.wav”)
audioStream=sun.audio.audioStream(inputStream)
sun.audio.AudioPlayer.player.start(音频流)

由于您使用的是Sikuli,因此可以执行以下操作

在windows计算机的桌面上添加任何媒体文件,如any.mp3,将该文件与媒体播放器关联。捕获图像并包括:

单击(模式(desktopnoiseicon.png)

您可以使用openApp执行相同的任务(C:\noise.mp3)

Sikuli能够找到许多变通方法


在SikuluXrc2中,您甚至可以从代码中指向URL,而无需设置捆绑路径

您可以使用命令行执行以下操作:

执行“复制con beep.txt” 输入[ctrl+G],然后输入[ctrl+Z],然后输入[Enter]退出

然后跑 “键入beep.txt” 你会听到嘟嘟声


您可以将“type beep.txt”放在批处理文件中,也可以直接在批处理中使用Ctrl+G(这会在命令行中产生错误,并伴有声音)

因为我们可以访问Sikuli中的Java级别(感谢Jython),这应该主要起作用:

import java.awt.Toolkit # only once per script
java.awt.Toolkit.getDefaultToolkit().beep()
测试在Windows7上通过。
您可能会得到一些详细的解释。

如果您从命令行而不是通过IDE运行Sikuli脚本,那么您只需将
BEL
字符写入控制台,它就会发出嘟嘟声。这也可以通过RDP工作

编辑:在Windows 7上,这将按照您的要求通过声卡发出嘟嘟声。在Windows XP上,它将向内部扬声器发出嘟嘟声(如果存在)

例如,以下两次蜂鸣音:

print("\007\007")

由于您要求提供一个简单的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()

仅供参考,在Windows中引起用户注意的标准方法是刷新任务栏;播放声音很烦人。谢谢。客户要求发出嘟嘟声。声音一点也不简单,无论是O/s还是语言环境。在Jython中,您使用的是Java环境,因此您应该在这里查找任何异常的内容。请参见只使用python的解析:有没有办法不用处理文件就可以做到这一点?比如,做正弦波之类的?我对Java完全一无所知。当然,循环:振幅*(math.sin(frequency*2*math.pi*count)产生一个以计数为时间步长的正弦波。当你迭代时,保存结果,你将得到一个基本的原始声音数据数组。你想怎么做就怎么做。该死,它说
不能导入name newAudioClip
。可能它不包括在Sikuli中。你知道怎么做吗?嗯,试着给第二个例子一个镜头。让我知道如果行得通的话。
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()