[C++ Tutorial] "Pisanie muzyki" :D

VR8

Moderator
Członek Załogi
Dołączył
Wrzesień 24, 2011
Posty
325
Witam.
Napewno każdy z was miał kiedyś pomysł o "programowaniu muzyki".
Ostatnio odkryłem że jest to możliwe, a efekt jest nie najgorszy :>

A więc otwieramy nasz kompilator C++ i przykładowo piszemy takie coś:
Kod:
#include <iostream>
#include <windows.h>

int main()
{
	Beep(500, 500);
	Beep(600, 400);
	Beep(700, 300);
        Sleep(50);
        Beep(600, 200);
	Beep(800, 100);
	Beep(700, 600);
	Beep(600, 400);
	Beep(700, 300);
	Beep(900, 500);
	Sleep(30);
	Beep(600, 300);
	Beep(900, 100);
	Beep(600, 300);
	Beep(300, 500);
}
Kompilujemy... i otwieramy.
Hmm... a jak to działa?

A więc opiszę teraz funkcję Beep();

Jak widać funkcji używa się: Beep(param1, param2);
Parametr 1 (param1) - czyli częstotliwość dźwięku.
Parametr 2 (param2) - czyli czas trwania dźwięku (w milisekundach)

Dodałem tam też funkcję Sleep(param1); która "zamraża" program.
Parametr 1 (param1) - czas trwania w milisekundach.

Przy odrobinie wyobraźni można skomponować całkiem fajne utwory .exe :D
 

Vandervir

Były Administrator
Dołączył
Grudzień 19, 2005
Posty
474
Wybitnie ci się nudzi. Jak już poszukaj sobie częstotliwości poszczególnych dźwięków i masz keyboarda. A nic też nie stoi aby zapisywać to co się gra.
 

In7ount

Użytkownik
Dołączył
Styczeń 28, 2012
Posty
79
już trochę programuje w c++ a pierwszy raz to widzę . Efekt zadowalający ; o
 

grzonu

Były Moderator
Dołączył
Grudzień 26, 2006
Posty
1390
Bardzo odkrywcze... nikt nie ma MSDN i nie potrafi sobie sprawdzic funkcji Beep
 

RobertG

Użytkownik
Dołączył
Styczeń 3, 2007
Posty
391
offtop:

Z tego co pamiętam, to ta funkcja korzysta (przynajmniej na starszych komputerach) z głośniczka systemowego. Kiedyś, napisałem soft który ją wykorzystywał do włączania i wyłączania kilku urządzeń. Sygnał z głośniczka systemowego był przetwarzany przez prosty filtr pasywny, trafiał na wejście zliczające kostki 4017, a na jej wyjściach podpięte były urządzenia (jeśli potrzebny byłby dla nich większy prąd można było podpiąć je przez tranzystory), pierwsze niewykorzystane wyjście było podłączone do wejścia resetu kostki. Całość działała całkiem znośnie, w danym momencie mogło być włączone tylko jedno urządzenie.
 
Do góry Bottom