Текущий архив: 2002.12.26;
Скачать: CL | DM;
ВнизThread Найти похожие ветки
← →
vidiv (2002-10-22 07:05) [0]Помогите мне с проблемой: Я хочу сделать программу кторая играет некотоую мелодию через Спикер, и выполнять некоторые видеэффекты (изменение гаммы). Где-то я видел пример функции на асме который делает BEEP с чистотой и задержкой. Но при выполнении этой функции моя прога временно(на время пищания) зависает. Я так подумал, что если сделать еще 1 Thread, и при его помощи проигрывать, то моя программа виснуть не будет, а поток все сделает и исчезнет в памяти. Может я что то не так думаю, поставте меня на путь истенный.
← →
Севостьянов Игорь (2002-10-22 10:53) [1]Все в общем верно. Дело в том что когда работает Beep у тебя прога естественно не будет ничего делать пока не завершит эту операцию (собственно какая разница вызвать Beep или же например свою процедуру). При создании дополнительного потока пищать будет "в фоне" а основной процесс не будет загружен. Только при обработке Beep в потоке, не делай синхронизацию, в твоем случае она не нужна...
← →
Yegor Derevenets (2002-10-22 16:28) [2]Хм. Это, конечно, что-то умное ты/Вы (vidiv) задумал/а/и. Вообще могу подарить модуль для прогигрывания WAV с диким качествим (но с низким битрейтом справляется). Работал под DOS, под Delphi откомпилить не пробовал, если интересно - пиши. За результаты и качество не отвечаю :-)
← →
Алексей Ким (2002-10-22 17:03) [3]в статьях расписано на примерах как это сделать
← →
beginer1 (2002-10-22 17:16) [4]{ **** UBPFD *********** by delphibase.endimus.com ****
>> Генерация звукого сигнала на встроенном динамике
Frequency - частота звука, Гц
Duration - длительность звучания, 1/1000 сек
Зависимости: Windows, SysUtils,
Автор: Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт- Петербург
Copyright: Dimka Maslov
Дата: 29 апреля 2002 г.
***************************************************** }
procedure Sound(Frequency, Duration: Integer);
asm
push edx
push eax
mov eax, Win32Platform
cmp eax, VER_PLATFORM_WIN32_NT
jne @@9X
call Windows.Beep
ret
@@9X:
pop eax
pop edx
push ebx
push edx
mov bx, ax
mov ax, 34DDh
mov dx, 0012h
cmp dx, bx
jnc @@2
div bx
mov bx, ax
in al, 61h
test al, 3
jnz @@1
or al, 3
out 61h, al
mov al, 0B6h
out 43h, al
@@1:
mov al, bl
out 42h, al
mov al, bh
out 42h, al
call Windows.Sleep
in al, 61h
and al, 0FCh
out 61h, al
jmp @@3
@@2:
pop edx
@@3:
pop ebx
end;
← →
vidiv (2002-10-23 02:25) [5]Всем огромное спасибо, за быструю помощь. Статья тоже в тему папала, то что я и искал.
Еще раз спасибо.
Девиз:<font color=blue> Сам живешь и другим жить давай</font>
← →
vidiv (2002-10-23 02:26) [6]извените... :/
Страницы: 1 вся ветка
Текущий архив: 2002.12.26;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c