![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
ну вот код, который пищит 1000Hz в течении 30 мс, а потом 970 мс молчит, и так 3 раза
![]() Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 112
|
![]()
На Delphi 7 выдает ошибку сразу после проигрывания 3 раз..(так и не понял почему, наверно с блоками в памяти что то не так) но смысл я понял. Кстати процедура Sleep дает очень большую погрешность. С длительность самого сигнала разобрался, только вот теперь не соображу как с длительностью между сигналами разобраться, откуда пауза в 970 Мсек? и что то мне Sleep этот... можно как нибудь без него? (Если например надо жать на кнопку быстро несколько раз и чтоб с каждым нажатием пикало 30 Мсек и не было после паузы) Мне уже за использование доп пауз выговор сделали:-)
|
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> На Delphi 7 выдает ошибку
хм, странно. Но это в любом случае просто шаблон, чтобы показать принцип, а не законченная программа. > откуда пауза в 970 Мсек? 1000 - 30 = 970 у нас 30 мс сигнала, остальное тишина. Буфер second не просто так назван ) Да, если поиграть с константами freq и time можно получить "больше" звука и на другой частоте. > процедура Sleep дает очень большую погрешность > и что то мне Sleep этот... можно как нибудь без него? Sleep в данном случае исключительно для того, чтобы консольное приложение сразу не закрылось. Его можно поменять на Read() или что угодно другое. К генерации звука это никакого отношения не имеет.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 112
|
![]() |
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]() Код:
Код:
![]()
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#16 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]() Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 112
|
![]()
Я пробовал именно так и вообще без цикла до того как спросил, не пищит совсем.. Когда For i:=0 to 1 и более пищит но от 2 раз... хрень какая то...
Последний раз редактировалось JekaDefer; 13.05.2012 в 10:18. |
![]() |
![]() |
![]() |
#18 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 112
|
![]() |
![]() |
![]() |
![]() |
#19 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() Цитата:
Реально нужно создать два буфера, один будет проигрываться, а другой в это время заполняться новыми данными. И так по кругу до бесконечности. Код, заполняющий буфер, нужно запускать в отдельном потоке по event, сообщающем об исчерпании буфера (его генерит звуковая карта). Длительность пауз задается ТОЧНО ТАК ЖЕ, как и длительность звука. Если Вам нужно, чтобы звук зависел от нажатия на клавиши, при обработке клавиатуры просто устанавливаете флажки, которые затем используются кодом, заполняющим буфер. |
|
![]() |
![]() |
![]() |
#20 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 112
|
![]() Код:
Последний раз редактировалось JekaDefer; 13.05.2012 в 13:13. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с выводом времени работы программы | murzilka6002 | Общие вопросы C/C++ | 0 | 13.12.2011 23:17 |
Нужно разобраться с выводом текущего времени | ExDeGarse | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 21.06.2011 15:52 |
проблема с выводом | -=Andriushka=- | Помощь студентам | 0 | 13.04.2011 21:46 |
Программа для воспроизведения тонового звука через промежуток времени | Vl-sn | Помощь студентам | 9 | 12.03.2010 20:27 |
Промежутки времени | SatiriK(rus) | SQL, базы данных | 4 | 19.11.2008 00:37 |