Odegranie melodii Syn marnotrawny przez funkcję Beep(); z WinAPI
28.03.2022 Dawid Farbaniec

W interfejsie programowania aplikacji dla Windows nazywanym w skrócie WinAPI można znaleźć funkcję Beep. Pozwala ona na odegranie dźwięku na głośniczku systemowym. Odgrywany dźwięk jest prosty, ale można ustawić mu częstotliwość (pierwszy parametr) oraz czas trwania w milisekundach (drugi parametr). Prototyp funkcji prezentuje się następująco:
BOOL WINAPI Beep(
_In_ DWORD dwFreq,
_In_ DWORD dwDuration
);
Odegranie melodii Syn marnotrawny
Przykładowy kod w języku C++ jest następujący:#include <iostream>
#include <vector>
#include <Windows.h>
class N
{
public:
int frequency;
int duration;
N(int a, int b)
{
frequency = a;
duration = b;
}
};
int main(int argc, char* argv[])
{
std::vector<N> melody(
{
N(1044, 237), N(1044, 475), N(1044, 237), N(1044, 475), N(833, 475), N(934, 475),
N(934, 950), N(934, 475), N(934, 475), N(934, 237), N(1044, 475), N(1175, 237),
N(1044, 950), N(1044, 237), N(1044, 475),N(1044, 237), N(1044, 475), N(833, 475),
N(934, 475), N(934, 950), N(833, 475), N(833, 237), N(833, 237), N(783, 475),
N(783, 475), N(698, 950), N(1044, 950),N(833, 475), N(934, 475), N(1044, 950),
N(1175, 237), N(1044, 475), N(934, 950), N(934, 950), N(783, 475), N(833, 475),
N(934, 950), N(1044, 475), N(833, 237), N(783, 475), N(698, 950)
});
for (auto const& x : melody)
{
std::cout << " Beep(" << x.frequency << "," << x.duration << ");" << std::endl;
::Beep(x.frequency, x.duration);
}
std::cout << "-== ethical.blue ==-" << std::endl;
return EXIT_SUCCESS;
}
Posłuchaj melodii
