Delphi звук

Здравствуйте програмеры!
Как воспроизвести звук определенной частоты , как
это делает windows.beep , только через звуковую карту ?
← Июнь 2005 → | ||||||
22
|
26
|
|||||
---|---|---|---|---|---|---|
27
|
За последние 60 дней ни разу не выходила
Сайт листа:
http://codeguru.ru
Открыт:
21-09-2003
Пре-модерация: Нет
Адрес для писем в лист: comp.soft.prog.prog-list@subscribe.ru
Адрес
модератора: comp.soft.prog.prog-owner@subscribe.ru
Здравствуйте програмеры!
Как воспроизвести звук определенной частоты , как
это делает windows.beep , только через звуковую карту ?
-----Original MessageFrom: Victor V. Vakchturov [mailto:forum-moderat***@m*****.ru]
Sent: Wednesday, June 08, 2005 4:26 PM
To: comp.soft.prog.prog (3823747)
Здравствуйте !
{---------}
Delphi реализовать возможность пропищать звук различной длины и частоты
procedure SetPort(address, Value:Word);
var bValue: byte;
begin
bValue := trunc(Value and 255);
asm
mov dx, address
mov al, bValue
out dx, al
end;
end;
function GetPort(address:word):word;
var bValue: byte;
begin
asm
mov dx, address
in al, dx
mov bValue, al
end;
GetPort := bValue;
end;
procedure Sound(Freq : Word);
var B : Byte;
begin
if Freq > 18 then
begin
Freq := Word(1193181 div LongInt(Freq));
B := Byte(GetPort($61));
if (B and 3) = 0 then
begin
SetPort($61, Word(B or 3));
SetPort($43, $B6);
end;
SetPort($42, Freq);
SetPort($42, Freq shr 8);
end;
end;
{0--------}
Так можно!
Номер выпуска : 4595
Возраст листа : 626 (дней)
Количество подписчиков : 527
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/381146
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Здравствуйте, Малышев.
Вы писали 8 июня 2005 г., 22:24:17:
if Freq > 18 then
А на ХР сработает? И Как продолжительность установить?
Может API поможет?
Приветствую
А вобще самый лучший вариант это RoarSound (на Delphi)
www.nudl.net/tmp/roarsound_v1_1.zip [100 kb] иходники предельно прозрачные и
очень легко читаются. Бибилиотека абсолютно бесплатная, черезвычайно лёгкая
в использовании(не разобраться в ней просто невозможно) и всё на открытых
кодах - 3d звук. Рекомендую всем.
С уважением, Lakmus
ICQ: 241479153
http://lakmus.nudl.net
Номер выпуска : 4618
Возраст листа : 628 (дней)
Количество подписчиков : 527
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/382036
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Здравствуйте, Lakmus.
Вы писали 9 июня 2005 г., 19:15:24:
и
Да но это не позволяет воспроизвести просто звук определенной частоты,
только файл, или я ошибаюсь? Это придется формировать файл звука, а
именно этого хотелось бы избежать.
Приветствую
В принципе, этот движок прекрасная основа для собственных модификаций т.ч.
подчитав M$ DirectX SDK, прикрутить туда такую фишку, думаю, будет несложно.
С уважением, Lakmus
ICQ: 241479153
http://lakmus.nudl.net
Номер выпуска : 4644
Возраст листа : 633 (дней)
Количество подписчиков : 528
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/385030
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Хаю ду ю ду monah?
Смотрю и вижу, как ты печатаешь умные вещи и дай-ка, думаю,
тоже что-нибудь напечатаю:
Есть компонент - TToneGen
www.alan-warriner.co.uk - если еще проэкт жив.
Но он по-моему тяжеловат для таких целей.
Компонент с исходниками - я по нему полазил, выяснил что там wav-ник
создается и потом проигрывается.
PS: 138 кб, если надо могу на мыло кинуть.
Здравствуйте, Александр.
Вы писали 17 июня 2005 г., 1:26:25:
WAV я и сам сваяю :)
Привет monah,
Вы мне письмо написали 5 июня 2005 г. (воскресенье), а я Вам отвечу вот что:
В Pascal'е была функция Sound(Частота: Word);
Афоризм напоследок: Одиночество - это когда ты всегда знаешь, где лежат твои
вещи.
Winamp глаголит: The Beatles - All You Need Is Love
8 июня 2005 г. 19:01:33
Просто студент
Eugene mailto:rav***@o*****.ru
Номер выпуска : 4588
Возраст листа : 626 (дней)
Количество подписчиков : 527
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/381095
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
Здравствуйте !
Можно воспроизводить через DirectSound.
Можно пользоваться старым интерфейсом виндов - wave
(см. функцию waveOutWrite, ну и вообще функции API
с префиксом wave). Там необходимо использовать двойную
буферизацию при воспроизведении (1 буфер воспроизводится,
в другой - инфа читается). Определяется своя Callback -
функция, которая вызывается виндами когда кончается
буфер воспроизведения.
Если надо - зашлю статью про воспроизведение звука в виндах.
Только там исходники к статье - на C.
--
С уважением, Вахтуров Виктор.
Номер выпуска : 4584
Возраст листа : 626 (дней)
Количество подписчиков : 527
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/380986
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru