Тема: Playing music through the speaker
В этом примере происходит проигрывание мелодии с помощью встроенного спикера ПК
Нажимайте клавишу ENTER, чтобы повторить проигрывание снова.
Исходный код:
program Speaker;
uses
KolibriOS, CRT;
const
// D - delay[1..128]; F - frequency; 0 - end of data
PlayData: array [0..26] of packed record D: Byte; F: Word end =
((D:5; F:330), (D:5; F:294), (D:5; F:262), (D:5; F:294), (D:5; F:330),
(D:5; F:330), (D:10; F:330), (D:5; F:294), (D:5; F:294), (D:10; F:294),
(D:5; F:330), (D:5; F:392), (D:10; F:392), (D:5; F:330), (D:5; F:294),
(D:5; F:262), (D:5; F:294), (D:5; F:330), (D:5; F:330), (D:5; F:330),
(D:5; F:330), (D:5; F:294), (D:5; F:294), (D:5; F:330), (D:5; F:294),
(D:20; F:262), (D:0; F:0));
begin
InitConsole('Speaker Music');
repeat
SpeakerPlay(PlayData);
WriteLn('Press key <Enter> to play music again');
until ReadKey <> #13;
end.
Проверял на реальном железе со спикером - всё работает, звук есть.
Сейчас на современных материнских платах спикер может и отсутствовать.
Существуют таблицы соотношения нот и частот, например, на wiki или тут.