Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

Странности с waveInStop ?   Найти похожие ветки 

 
Calm_Kid   (2004-08-27 14:29) [0]

Может так и должно быть - ситуация:
Пишу с линейного входа, несколько буферов, подготовил, добавил в очередь. Обрабатываю события через CALLBACK_FUNCTION. Вроде все замечательно за исключением, что при остановке записи через waveInStop событие возникает не мгновенно, а идет ожидание пока не заполнится до конца текущий буфер. При достаточно большом буфере возникает огромадная задержка (например при 8кГц 8Бит моно при буфере 64КБайт и попадании в начало - соответственно почти 8сек). Конечно при waveInReset все останавливается на-раз, но теряется dwBytesRecorded - кол-во записанных байт. Хотя при waveInStop тоже получается бессмыслица т.к. dwBytesRecorded всегда равно размеру буфера.
Наивная мысль была через waveInStop тормознуть, посмотреть кол-во остатка записанных данных и правильно прописать в заголовок Wav. Потом уже полный стоп.
Конечно выкрутился через waveInGetPosition, но получается реально сделать паузу и продолжить запись без лишнего мусора нельзя?

ЗЫ Посмотрел в Sound Forge кнопки пауза при записи нет...


 
VMcL ©   (2004-08-27 14:48) [1]

>>ЗЫ Посмотрел в Sound Forge кнопки пауза при записи нет...

А в Creative Wave Editor"е, AFAIR, есть.


 
Calm_Kid   (2004-08-27 15:07) [2]

В найденных примерах в основном мысль была делать буфера размером с 0.5 сек и менее, что на слух почти не заметно. Уж хотел покопать, чтобы меньше мусора цеплять. И так, судя по доке, waveInGetPosition дает не совсем точные значения из-за внутренних очередей в самих драйверах звуковых плат. Опять же пихать малые буфера в очередь - наверняка по скорости будет слабоватое место: например 5 слотов + встроенная звукашка - одновременная запись с 6 входов и на каждый куча мелких буферов :-(



Страницы: 1 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.034 c
6-1095362341
Лев Ландау
2004-09-16 23:19
2004.11.28
Как зателнетить асю?


6-1095591217
Biatri$
2004-09-19 14:53
2004.11.28
Хедер (рапер) для dnsapi.dll


6-1095366610
bl4ck_w1nd
2004-09-17 00:30
2004.11.28
AsyncPro 4.06 - апи ошибка


4-1097264473
Velzevul
2004-10-08 23:41
2004.11.28
печать на сетевой принтер


14-1097920787
OSokin
2004-10-16 13:59
2004.11.28
Что за конференция?