Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Визуализация и одновременная запись звука 
:(
    Опции темы
ChaserHA
Дата 4.12.2007, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 15.11.2006

Репутация: нет
Всего: 1



Привет.

Кое-что нашел в сети и объединил 2 исходника в один: визуализация аудио сигнала и запись аудио в wav.
Визуализация происходит в событии "OnWaveIn", как и запись в wav.

Проблема:
При одновременной визуализации и попывтки записи аудио вылетает ошибка "Access violation at address 00402931 in module WaveVizualizator.exe ...", но если закоментировать часть кода (исходник прилагается):

Код

WaveInAddBuffer(WaveIn, PWaveHdr(Msg.lParam),SizeOf(TWaveHdr));
data16:=PData16(PWaveHdr(Msg.lParam)^.lpData);

// перепишем звук из массива в который пишется
// в массив который обрабатывается чтоб запись его не портила
move(data16^[0],m,BufSize*2);
// if data16^[0]<>m[1]
// then showMessage('skipped');

то запись идет без проблем, однако тогда нет визуализации на Image. Т.е. если одно работает, то не работает другое.
Немного прочитал про работу с аудио и MMSystem, но как это исправить не могу допереть.
Подскажите, что нужно дописать/исправить чтобы визуализация и запись аудио работали одновременно и без ошибок?

Исходник для тестирования можно взять тут: WaveVizRecorder
PM MAIL WWW   Вверх
Alexeis
Дата 4.12.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Вопрос из серии, я тут писал программку, но что-то не работает, подскажите что  smile .

Судя, что AV вылетело showMessage('skipped');  есть подозрения на незащищенную многопоточность smile .

Добавлено через 1 минуту и 2 секунды
  В чем суть метода? Где он вызывается ? Для чего? 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ChaserHA
Дата 4.12.2007, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 15.11.2006

Репутация: нет
Всего: 1



Цитата(Alexeis @  4.12.2007,  12:07 Найти цитируемый пост)
Судя, что AV вылетело showMessage('skipped');  есть подозрения на незащищенную многопоточность smile .

Добавлено через 1 минуту и 2 секунды
  В чем суть метода? Где он вызывается ? Для чего?  

Не, ты не понял )
Если закомментировать весь код, т.е. так:
Код

{
 WaveInAddBuffer(WaveIn, PWaveHdr(Msg.lParam),SizeOf(TWaveHdr));
 data16:=PData16(PWaveHdr(Msg.lParam)^.lpData);

 // перепишем звук из массива в который пишется
 // в массив который обрабатывается чтоб запись его не портила
 move(data16^[0],m,BufSize*2);
 // if data16^[0]<>m[1]
 // then showMessage('Не успела');
}


То запись работает, если разкомментировать то ошибка.
Вызывается для рисования кривой звука (по полученным данным рисуется кривая).

Это сообщение отредактировал(а) ChaserHA - 4.12.2007, 14:13
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0631 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.