Текущий архив: 2002.08.29;
Скачать: CL | DM;
Вниз
Speaker don t Найти похожие ветки
← →
voodoo_alex (2002-06-11 12:55) [0]Народ вот пишу
Beep;
но спикер не пикает ;((( Подскажите как его проще всего заставить пикать то.... к 60-му порту то доступ мне винда не отдаст напрямую ;((((
Спасибо заранее.
← →
12345678 (2002-06-11 13:10) [1]Beep - проигрывает через звуковую карту "стандартный звук"
← →
Song (2002-06-11 14:18) [2]Может он у тебя от мамки отключён ? :)
← →
mukha (2002-06-12 09:51) [3]Возможно, просто не установлена схема воспроизведения звуков. Проверь:пуск\Настройка\Панель управления\Звук\Схемы должно быть установлено "Стандартные звуки Windows" или там же для используемой схемы необходимо назначить необходимые звуки.
← →
Song (2002-06-12 10:04) [4]По-моему "стандартному звуку" фиолетово до настроек звуковых схем...
← →
AlexSV (2002-06-12 10:45) [5]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
← →
mukha (2002-06-12 11:08) [6]
> 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);
← →
Озадаченный (2002-06-13 13:22) [7]У меня этот MessageBeep($FFFFFFF); не работает, но через динамик работает Windows.Beep например: Windows.Beep(5000,50); выдается писк из динамика
← →
угол (2002-06-17 08:01) [8]так надо не:
MessageBeep($FFFFFFF);
а:
MessageBeep($FFFFFFF F);
← →
Cobalt (2002-06-17 09:23) [9]MessageBeep( -1);
← →
MEgor (2002-06-17 10:36) [10]Чего вы тут гадаете.
Ну почитайте вы хелп, вы что никогда туда не заглядываете?
Для платформ WinNT Windows.Beep(5000,50) работать будет, а вот для Win9x нет.
В хелпе так и сказано, что эти параметры игнорируются.
← →
Dimka Maslov (2002-06-17 12:00) [11]http://delphibase.endimus.com/?action=viewfunc&topic=mediasound&index=1
← →
ao1973 (2002-06-17 17:19) [12]англичанин !
если решил повыпендиваться то писать надо doesn"t!
← →
easy (2002-06-17 17:27) [13]...вот ещё фишка:
Как управлять спикером под 9х из Дельфи
http://www.sources.ru/delphi/system/speaker_control.shtml
для всех виндовсов...
← →
Wizard_Ex (2002-06-19 16:32) [14]Попробуй это:
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;
← →
Wizard_Ex (2002-06-19 16:34) [15]гарантированно работает под W95, W98, NT, XP, 2000 И тому подобными ОСами
Страницы: 1 вся ветка
Текущий архив: 2002.08.29;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.006 c