Конференция "Media" » Визуализация и одновременная запись звука [D7, WinXP]
 
  • 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]

    > Для начала пытаюсь


    И сразу же "понты" ?
    Типа "я круче яйца - я пишу на Чистом ВинАпи" ?)

    Компонентами не пробовал для начала пользоваться ?)
  • Chaser © (07.12.07 20:28) [9]
    Компоненты "весят" много, да и в своем то коде разобраться проще если потребуется что-то добавить/переделать. Компоненты это в последнюю очередь, да и например deAudio (из примеров) при записи звука выдают лишние шумы, что не есть гуд. Этот код пишет звук хорошо, но вот непонятная ошибка все портит.
    ПС. Понты тут непричем.
  • Сергей М. © (10.12.07 08:49) [10]

    > deAudio (из примеров) при записи звука выдают лишние шумы


    И у тебя они будут, судя коду)
 
Конференция "Media" » Визуализация и одновременная запись звука [D7, WinXP]
Есть новые Нет новых   [134431   +12][b:0][p:0.001]