社区讨论

怎么让这个beep更快一点

灌水区参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m2k5mmk0
此快照首次捕获于
2024/10/22 15:59
去年
此快照最后确认于
2025/11/04 16:32
4 个月前
查看原帖
做了一个电子琴,如下(想要抱走,估计你们也不想要)
CPP
#include <iostream>
#include <windows.h>
#include <unordered_map>
#define qdo 262
#define qre 294
#define qmi 330
#define qfa 349
#define qso 392
#define qla 440
#define qsi 494
#define do Beep(523, 500);
#define re Beep(587, 500); 
#define mi Beep(659, 500);
#define fa Beep(698, 500);
#define so Beep(784, 500);
#define la Beep(880, 500);
#define si Beep(988, 500);
#define s Sleep(100);
const std::unordered_map<int, int> noteFrequencies = {
    {0x31, 523},
    {0x32, 587},
    {0x33, 659},
    {0x34, 698},
    {0x35, 784},
    {0x36, 880},
    {0x37, 988},
    {0x41, 262},
    {0x53, 294},
    {0x44, 330},
    {0x46, 349},
    {0x47, 392},
    {0x48, 440},
    {0x4A, 494}
};
int main() {
    std::cout << "1: 高音Do, 2: 高音Re, 3: 高音Mi, 4: 高音Fa, 5: 高音So, 6: 高音La, 7: 高音Si" << std::endl;
    std::cout << "a: 低音Do, s: 低音Re, d: 低音Mi, f: 低音Fa, g: 低音So, h: 低音La, j: 低音Si" << std::endl;
    while (true) {
        for (const auto& [key, frequency] : noteFrequencies) {
            if (GetAsyncKeyState(key) & 0x8000) {
                Beep(frequency, 500);
            }
        }
        
    }

    return 0;
}
发现beep函数有杂,卡顿,延迟,有没有什么办法啊?玄关

回复

1 条回复,欢迎继续交流。

正在加载回复...