-
Chaser (02.12.07 15:56) [0]Привет.
Кое-что нашел в сети и объединил 2 исходника в один: визуализация аудио сигнала и запись аудио в wav.
Визуализация происходит в событии "OnWaveIn", как и запись в wav.
Проблема:
При одновременной визуализации и попывтки записи аудио вылетает ошибка "Access violation at address ...", но если закоментировать часть кода (исходник прилагается):
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, но как это исправить не могу допереть.
Подскажите, что нужно дописать/исправить чтобы визуализация и запись аудио работали одновременно и без ошибок?
Исходник для тестирования можно взять тут: http://chaser.front.ru/WaveVizRecorder.zip -
Сергей М. © (03.12.07 08:48) [1]
> Access violation at address ...
Ключ к разгадке тайны лежит в многоточии. -
Chaser (03.12.07 15:36) [2]
> Ключ к разгадке тайны лежит в многоточии.
Исходник прилагается и ошибку можно посмотреть протестировав программу.
Только вот что там исправить чтобы работало лично мне не понятно. -
Сергей М. © (03.12.07 16:13) [3]
> ошибку можно посмотреть протестировав программу
Оно мне надо - тестировать твою беду ?)
> что там исправить чтобы работало лично мне не понятно
Вот поэтому и см. [1]
То, что ты скрыл за многоточием, было писано для тебя, а не для Пушкина.
Это как раз и есть инф-ция для поиска строки проблемного кода, а ты ее скомкал и в мусорный бак засунул) -
Chaser (03.12.07 18:14) [4]Боюсь что описание ошибки: "Access violation at address 00402931 in module WaveVizualizator.exe. Read of address 001655FC" ничего вам не даст.
-
Сергей М. © (04.12.07 08:48) [5]
> ничего вам не даст
Это не мне надо, это тебе нужно для локализации проблемной строки)
см. меню Search -> Find Error.. -
teplotaya © (05.12.07 23:46) [6]интересный исходничек !
стало интересно что ты пишеш ?
icq: 2950197 -
Chaser (07.12.07 16:16) [7]
> стало интересно что ты пишеш ?
Для начала пытаюсь написать программу для визуализации и одновременной записи звука ) -
Сергей М. © (07.12.07 16:55) [8]
> Для начала пытаюсь
И сразу же "понты" ?
Типа "я круче яйца - я пишу на Чистом ВинАпи" ?)
Компонентами не пробовал для начала пользоваться ?) -
Компоненты "весят" много, да и в своем то коде разобраться проще если потребуется что-то добавить/переделать. Компоненты это в последнюю очередь, да и например deAudio (из примеров) при записи звука выдают лишние шумы, что не есть гуд. Этот код пишет звук хорошо, но вот непонятная ошибка все портит.
ПС. Понты тут непричем. -
Сергей М. © (10.12.07 08:49) [10]
> deAudio (из примеров) при записи звука выдают лишние шумы
И у тебя они будут, судя коду)