基础 Python 声音编程

发布于 2024-12-09 21:36:50 字数 73 浏览 0 评论 0原文

如何制作一个程序,在按住某个键时播放我定义的音调?我可以用winsound.Beep() 演奏不同的音符,但我认为这并没有什么帮助。

How can I make a program that plays a tone that I define while I hold down a key? I can play different notes with winsound.Beep(), but I don't think this really helps.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

濫情▎り 2024-12-16 21:36:50

如果您只想使用标准库并且正在使用,则可以使用 msvcrt 来获取当前按键并将其映射到频率。

import msvcrt
import time
import winsound

notes = {'a': 440, 's': 935, 'd': 1039}

while True:
    key = msvcrt.getch()
    try:
        note = notes[key]
    except KeyError:
        note = 0

    winsound.Beep(note, 10)
    time.sleep(0.01)

If you just want to use the standard library and youre using, you can use msvcrt to get the current keypress and map that to a frequency.

import msvcrt
import time
import winsound

notes = {'a': 440, 's': 935, 'd': 1039}

while True:
    key = msvcrt.getch()
    try:
        note = notes[key]
    except KeyError:
        note = 0

    winsound.Beep(note, 10)
    time.sleep(0.01)
祁梦 2024-12-16 21:36:50

winsound 模块允许您播放的不仅仅是嘟嘟声,请查看 winsound.PlaySound

winsound.PlaySound('mySound.wav', winsound.SND_FILENAME)

当用户按住某个键时, 你一般会在短时间内得到多个按键事件。

The winsound module allows you to play more than just beeps, have a look at winsound.PlaySound:

winsound.PlaySound('mySound.wav', winsound.SND_FILENAME)

When the user holds down a key, you will generally get multiple key press events in a short time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文