![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Speaker don t
voodoo_alex © (2002-06-11 12:55:00)Народ вот пишу
Beep;
но спикер не пикает ;((( Подскажите как его проще всего заставить пикать то.... к 60-му порту то доступ мне винда не отдаст напрямую ;((((
Спасибо заранее.
Wizard_Ex (2002-06-19 16:34:00) [1]гарантированно работает под W95, W98, NT, XP, 2000 И тому подобными ОСами
Wizard_Ex (2002-06-19 16:32:00) [2]Попробуй это:
Delay - пауза
MyBeep пикание частота, длительность
Call - примерчик,
procedure Delay(msecs : Longint);
var
FirstTick:Longint;
begin
FirstTick:=GetTickCount;
repeat
Application.ProcessMessages;
{для того чтобы не "завесить" Windows}
until GetTickCount - FirstTick >= msecs;
end;
function IsNT : boolean;
begin
case Win32Platform of
VER_PLATFORM_WIN32_NT: Result:=True;
else Result:=False;
end;
end;
procedure myBeep(Freq, Duration: Integer);
begin
if IsNT then begin windows.Beep(Freq, Duration); exit end;
// ;---рарешение канала 2 установкой порта B
asm
IN AL, 61h //чтение его значения
OR AL,3 //установка двух младших битов
OUT 61h, AL //посылаем байт в порт B
//;---установка регистров ввода/вывода
MOV AL, 182 // для канала 2
OUT 43h, AL //засылка в командный регистр
//---засылка счетчика в задвижку
sub edx, edx
mov eax, 1190000
xor ecx, ecx //очистка от "мусора"
mov ecx, Freq
div ecx //счетчик = 1190000/Freq
OUT 42h, AL //посылаем младший байт
MOV AL, AH //сдвигаем младший байт в AL
OUT 42h, AL //посылаем старший байт
end;
Delay(Duration);
asm //выключение звука
IN AL, 61h //получаем байт из порта B
AND AL, 252 //сбрасываем два младших бита
OUT 61h, AL //посылаем байт обратно
end;
end;
procedure Call;
begin
MyBeep(880,100);
Delay(10);
MyBeep(570,100);
Delay(20);
Delay(200);
MyBeep(880,100);
Delay(10);
MyBeep(570,100);
Delay(20);
end;
easy (2002-06-17 17:27:00) [3]...вот ещё фишка:
Как управлять спикером под 9х из Дельфи
http://www.sources.ru/delphi/system/speaker_control.shtml
для всех виндовсов...
ao1973 (2002-06-17 17:19:00) [4]англичанин !
если решил повыпендиваться то писать надо doesn"t!
Dimka Maslov (2002-06-17 12:00:00) [5]http://delphibase.endimus.com/?action=viewfunc&topic=mediasound&index=1
MEgor (2002-06-17 10:36:00) [6]Чего вы тут гадаете.
Ну почитайте вы хелп, вы что никогда туда не заглядываете?
Для платформ WinNT Windows.Beep(5000,50) работать будет, а вот для Win9x нет.
В хелпе так и сказано, что эти параметры игнорируются.
Cobalt (2002-06-17 09:23:00) [7]MessageBeep( -1);
угол (2002-06-17 08:01:00) [8]так надо не:
MessageBeep($FFFFFFF);
а:
MessageBeep($FFFFFFF F);
Озадаченный (2002-06-13 13:22:00) [9]У меня этот MessageBeep($FFFFFFF); не работает, но через динамик работает Windows.Beep например: Windows.Beep(5000,50); выдается писк из динамика
mukha (2002-06-12 11:08:00) [10]
> Song © (12.06.02 10:04)
> По-моему "стандартному звуку" фиолетово до настроек звуковых
> схем...
Мой ответ для того случая, когда "стандартный звук" воспроизводится через звуковую карту. Так как при наличии на ПК звуковой карты звук воспроизводится с помощью звуковой карты. Для этого можно использовать АРI-функцию MessageBeep, имеющую следующие идентификаторы стандартного звука: mb_IconAsterisk, mb_IconExclamation, mb_IconHand, mb_IconQuestion, mb_Ok. Например: MessageBeep(mb_Ok);
Чтобы извлечь "бип" из системного динамика, минуя звуковую карту, можно использовать АРI-функцию MessageBeep с параметром $FFFFFFFF. Например: MessageBeep($FFFFFFF);
AlexSV (2002-06-12 10:45:00) [11]Beep - это дельфевая функция.
Из help"a:
procedure Beep;
Description
Beep calls the Windows API MessageBeep.
MessageBeep вызывает WAV файл на soundcard, поэтому speaker и молчит.
юзай Windows.Beep
Из help"a:
The Beep function generates simple tones on the speaker
Song (2002-06-12 10:04:00) [12]По-моему "стандартному звуку" фиолетово до настроек звуковых схем...
mukha (2002-06-12 09:51:00) [13]Возможно, просто не установлена схема воспроизведения звуков. Проверь:пуск\Настройка\Панель управления\Звук\Схемы должно быть установлено "Стандартные звуки Windows" или там же для используемой схемы необходимо назначить необходимые звуки.
Song (2002-06-11 14:18:00) [14]Может он у тебя от мамки отключён ? :)
12345678 (2002-06-11 13:10:00) [15]Beep - проигрывает через звуковую карту "стандартный звук"