Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2013, 22:55   #1
JekaDefer
Форумчанин
 
Регистрация: 07.04.2009
Сообщений: 112
По умолчанию Как сделать звуковой сигнал треугольной и пилообразной формы

Помогите кто нибудь как мне этого добиться... вот кусок кода
Код:
for i := 0 to nbuf - 1 do
  begin
    if Terminated then Break;
    // Заполняем сэмплы
    vol1 := Trunc(maxlevel / 100 * vol); // Перевод громкости в int16
    delta := freq / sps * 2 * Pi;
    for j := 0 to msps - 1 do
    begin
      buffer[x, j] := round(sin(angle) * vol1);
      angle := angle + delta;
    end;
    // Передаем заполненный массив на проигрывание
    if (i > 1) and (i = nbuf - 1) then
      WaveOutWrite(hwo, @wh[2], sizeof(wh[2]))
    else
      WaveOutWrite(hwo, @wh[x], sizeof(wh[x]));
    WaitForSingleObject(hEvent, INFINITE);
    x := x xor 1;
  end;
если надо могу и программу выложить
JekaDefer вне форума Ответить с цитированием
Старый 11.04.2013, 10:04   #2
JekaDefer
Форумчанин
 
Регистрация: 07.04.2009
Сообщений: 112
По умолчанию

Все разобрался

Последний раз редактировалось JekaDefer; 11.04.2013 в 10:29.
JekaDefer вне форума Ответить с цитированием
Старый 11.04.2013, 14:21   #3
JekaDefer
Форумчанин
 
Регистрация: 07.04.2009
Сообщений: 112
По умолчанию

Может кому понадобится, вот модуль сделал с процедурой которая пищит скоко надо с заданной частотой, громкостью и формой сигнала. + графики построенные на основе этой процедуры.
Вложения
Тип файла: rar XBeep.rar (394.9 Кб, 26 просмотров)
JekaDefer вне форума Ответить с цитированием
Старый 11.04.2013, 21:21   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Вообще-то у Вас в исходнике не пила и не треугольник, а синусоида.
s-andriano вне форума Ответить с цитированием
Старый 12.04.2013, 10:26   #5
JekaDefer
Форумчанин
 
Регистрация: 07.04.2009
Сообщений: 112
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Вообще-то у Вас в исходнике не пила и не треугольник, а синусоида.
я не понимаю о чем вы. Обоснуйте.
JekaDefer вне форума Ответить с цитированием
Старый 12.04.2013, 19:07   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Тема называется "Как сделать звуковой сигнал треугольной и пилообразной формы", а в исходнике - синусоида:

Код:
for i := 0 to nbuf - 1 do
  begin
    if Terminated then Break;
    // Заполняем сэмплы
    vol1 := Trunc(maxlevel / 100 * vol); // Перевод громкости в int16
    delta := freq / sps * 2 * Pi;
    for j := 0 to msps - 1 do
    begin
      buffer[x, j] := round(sin(angle) * vol1);
      angle := angle + delta;
    end;
    // Передаем заполненный массив на проигрывание
    if (i > 1) and (i = nbuf - 1) then
      WaveOutWrite(hwo, @wh[2], sizeof(wh[2]))
    else
      WaveOutWrite(hwo, @wh[x], sizeof(wh[x]));
    WaitForSingleObject(hEvent, INFINITE);
    x := x xor 1;
  end;
s-andriano вне форума Ответить с цитированием
Старый 30.04.2013, 13:18   #7
JekaDefer
Форумчанин
 
Регистрация: 07.04.2009
Сообщений: 112
По умолчанию

В архиве уже исправленная версия и там все нормально.
JekaDefer вне форума Ответить с цитированием
Старый 30.04.2013, 16:59   #8
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Ну, нормально так нормально.
Я написал о том, что опубликовано на форуме. Скачивать архивы и ковыряться там мне недосуг.
s-andriano вне форума Ответить с цитированием
Старый 30.04.2013, 18:03   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...архив проверил, работает.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assemler, не могу установить звуковой сигнал. FieldyTR Помощь студентам 0 29.03.2012 16:07
Звуковой сигнал (писк) aank10 Общие вопросы C/C++ 2 05.05.2011 11:37
Как сделать границы формы другого цвета,формы?? Дима я Общие вопросы Delphi 3 22.06.2009 07:24
Звуковой сигнал Eugenio Microsoft Office Excel 9 18.03.2009 17:24
Как узнать находится ли точка в конкретной треугольной области? Dux Общие вопросы Delphi 8 07.12.2008 19:32