怎么让这个beep更快一点
查看原帖
怎么让这个beep更快一点
1219426
奈芙莲可爱捏楼主2024/10/22 15:58

做了一个电子琴,如下(想要抱走,估计你们也不想要)

#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函数有杂,卡顿,延迟,有没有什么办法啊?玄关

2024/10/22 15:58
加载中...