Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.12.26;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
7-86194
BJValentine
2002-10-23 21:07
2002.12.26
Службы


3-85873
Tip
2002-12-09 00:59
2002.12.26
Запись изменений таблиц на диск


1-86031
BJValentine
2002-12-16 17:32
2002.12.26
Об эксплорере


14-86107
Ежик
2002-12-04 13:47
2002.12.26
О вреде здоровья при работе на компьютере.....


14-86136
Ежик
2002-12-05 16:27
2002.12.26
Встреча мастеров Delphi в Эстонии.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский