Программа со звуком

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Программа со звуком

Re: Программа со звуком

Esgal » 05 май 2009, 11:32

[syntax=delphi]
procedure BeepInSpeaker(Freq: Word; Duration: Integer);
var
Ver: TOsVersionInfo;
begin
Ver.dwOSVersionInfoSize := SizeOf(Ver);
GetVersionEx(Ver);
if Ver.dwPlatformId = VER_PLATFORM_WIN32_NT then
Windows.Beep(Freq, Duration)
else
begin
asm
movzx ecx, Freq
mov eax, 1193180
sub edx, edx
div ecx
mov ecx, eax
mov al,0b6H
out 43H,al
mov al,cl
out 42h,al
mov al,ch
out 42h,al
in al,61H
or al,03H
out 61H,al
end;
sleep(Duration);
asm
in al,61H
and al,0fcH
out 61H,al
end;
end;
end;
[/syntax]

Делфи процедура, должна пищать на всех динамиках, если он физически не отключен...

Код: Выделить всё

procedura tire();
begin
  BeepInSpeaker(2000,600)
end;

procedure tchk();
begin
  BeepInSpeaker(2000,100)
end;

Re: Программа со звуком

SLICK » 10 апр 2009, 14:19

ясно.. жаль...

.

BBB » 10 апр 2009, 09:14

SLICK писал(а):оо, пожалусто выложи ее
Прошу прощения, это не так просто оказалось. Похоже, если она у меня и осталась, то где-то очень глубоко "закопана". Боюсь даже, что на 5'25"-дискетах...

Re: Программа со звуком

SLICK » 09 апр 2009, 17:52

оо, пожалусто выложи ее

Re: Программа со звуком

BBB » 09 апр 2009, 09:21

В принципе, у меня была (может, и сейчас где-то "в закромах" валяется) Pascal-программа, которая играет "Ломбаду" (понятное дело, безо всяких звуковых плат).
Но у меня сильное подозрение, что Винды как-то блокируют работу ф-ии Sound.

Re: Программа со звуком

atavin-ta » 08 апр 2009, 11:25

&quot писал(а):В паскале нет возможности проигровать сторониие звуки, если только через внутренний динамик. А так можно запустить любую прогу (напрмер Winamp).
Delphi то же паскаль, но там можно. Кидаешь на форму MediaPlayer, ставишь свойство FileName, потом играешь методом Play. Но если имеется в виду трупо паскаль, то может и нельзя, я по нему не спец.

Re: Программа со звуком

SLICK » 01 апр 2009, 18:51

спасибо!
но мне бы песню с помощью етого Sound :rolleyes:

Re: Программа со звуком

dr.Jekill » 01 апр 2009, 14:37

Поконкретней можно?
sound(Hz) - задает частоту генерируемого динамиком сигнала в герцах. Звуковой сигнал звучит до тех пор, пока не будет выключен с помощью процедуры
nosound (если вы забыли написать вызов этой процедуры в программе, то звук не выключится, даже если программа уже закончила работу);
delay(msec) - выполняет задержку в миллисекундах;
Схема такая: воспроизвели звук через динмик, задержали, выключили.
Вот Вам еще пример:
[LEFT][syntax=pascal]
uses crt;
const octava_l:array[1..7] of integer=(262,294,330,349,392,440,493);
var n,octava,koef: integer;
begin
koef:=1;
for octava:=1 to 3 do
begin
for n:=1 to 7 do
begin
sound(octava_l[n]*koef);
delay(300);
nosound;
end;
koef:=koef*2;
end;
sound(octava_l[1]*koef);
delay(300);
nosound;
end.
[/syntax]
[/LEFT]

Re: Программа со звуком

SLICK » 01 апр 2009, 14:08

нет, мне нужна программа типа такого:

Код: Выделить всё

USES CRT;
BEGIN
					{буква P:}
	Sound(900); Delay(100); NoSound; Delay(80);	{точка}
	Sound(900); Delay(200); NoSound; Delay(80);	{тире}
	Sound(900); Delay(200); NoSound; Delay(80);	{тире}
	Sound(900); Delay(100); NoSound; Delay(80);	{точка}
	Delay(300); 												{пауза}
					{буква I:}
	Sound(900); Delay(100); NoSound; Delay(80);	{точка}
	Sound(900); Delay(100); NoSound; Delay(80);	{точка}
	Delay(300); 												{пауза}
					{буква P:}
	Sound(900); Delay(100); NoSound; Delay(80);	{точка}
	Sound(900); Delay(200); NoSound; Delay(80);	{тире}
	Sound(900); Delay(200); NoSound; Delay(80);	{тире}
	Sound(900); Delay(100); NoSound; Delay(80);	{точка}
	Delay(300); 												{пауза}
					{буква I:}
	Sound(900); Delay(100); NoSound; Delay(80);	{точка}
	Sound(900); Delay(100); NoSound; Delay(80);	{точка}
	Delay(300); 												{пауза}
					{буква N:}
	Sound(900); Delay(200); NoSound; Delay(80);	{тире}
	Sound(900); Delay(100); NoSound; Delay(80);	{точка}
	Delay(300); 												{пауза}
					{буква G:}
	Sound(900); Delay(200); NoSound; Delay(80);	{тире}
	Sound(900); Delay(200); NoSound; Delay(80);	{тире}
	Sound(900); Delay(100); NoSound; Delay(80);	{точка}
	Delay(300); 												{пауза}
END. 

Re: Программа со звуком

dr.Jekill » 01 апр 2009, 02:43

Если у тебя нет звука то переустанови драйвер на звуковуху! И вообше ответ не в тему (я думаю ты не хочешь чтобы мы писали verifier)?!

Вернуться к началу