ViVo Help!!!

Hi!
Люди, выручайте!!!! Пожалуста... Тема горит!!!
Есть на видюхе VIVO и есть драйверок к нему (nVidia Video Capture
(universal))... Как с него грабнуть в свою прогу видио???
За последние 60 дней ни разу не выходила
Сайт листа:
http://codeguru.ru
Открыт:
21-09-2003
Пре-модерация: Нет
Адрес для писем в лист: comp.soft.prog.prog-list@subscribe.ru
Адрес
модератора: comp.soft.prog.prog-owner@subscribe.ru
Hi!
Люди, выручайте!!!! Пожалуста... Тема горит!!!
Есть на видюхе VIVO и есть драйверок к нему (nVidia Video Capture
(universal))... Как с него грабнуть в свою прогу видио???
Hello Шевченко,
Tuesday, January 20, 2004, 6:45:31 AM, you wrote:
а случайно програмки по захвату звука с микрофона у тебя нет?
был бы очень признателен если вышлеш
Hi!
Ну дык через TMediaPlayer Record'ишь себе и все!
Приветец, portos_ua!
Tuesday, January 20, 2004, 4:05:40 PM, ты выдал:
Кстати, имей ввиду, я на дельфах сижу, так что если тока в них... А
вообще ниче сложного - делал писалку со звуковухи уже.
Если интересно самому разобраться - попробуй TMediaPlayer бросить на
форму и глянь. Если влом - могу набарабать и выслать, как тебе
удобней. Там делов-то на 10 минут
Hello Шевченко,
Tuesday, January 20, 2004, 3:06:29 PM, you wrote:
да это я впринципе знаю, мне нужно звук потом еще по сетке гнать,
тоисть чат звуковой так что хотелось бы что-нибудь другое
Приветец, portos_ua!
Wednesday, January 21, 2004, 11:11:22 AM, ты выдал:
А в чем проблема? С прогоном по сетке... В принципе есть 2 варианта -
первый - организуешь соединение и гонишь по нему stream'ные данные
твоего звука, а второй, более простой и надежный - ждешь пока чувак
скажет в микрофон все че думает, и по окончанию базара бросаешь это
дело в слушателя... А у того проигрывается. Конечно паузы будут, зато
надежно. Можно забацать гибрид - маленькими кусочками пишешь и
отправляешь постоянно - а слушатель это у себя складывает и
сразу проигрывает, а в это время ему валятся остальные. Проще конечно
связь по UDP сделать, но бывает пакеты пропадают если сетка
тормозная и трафиком загруженная... Либо один пакет может прийти позже
другого. Но такое бывает крайне редко. А вообще - проблем не вижу,
было бы желание.
Приветец, portos_ua!
Wednesday, January 21, 2004, 11:11:22 AM, ты выдал:
P.S. А лучше делать запись не через тормоZной TMedPlr, a через MCI напрямую.
Тормозов меньше и отзывается оперативнее.
Hello Шевченко,
Wednesday, January 21, 2004, 12:32:08 PM, you wrote:
а вот теперь если можно поподнобней на простом примере или линков каких
Приветец, portos_ua!
Вот лови кусок из Win32SDK
Из си в дельфу переделать раз плюнуть.
Главное - принципы общения с MCI.
// Uses the MCI_OPEN, MCI_RECORD, and MCI_SAVE commands to record and
// save a waveform-audio file. Returns 0L if successful; otherwise,
// it returns an MCI error code.
DWORD recordWAVEFile(DWORD dwMilliSeconds)
{
UINT wDeviceID;
DWORD dwReturn;
MCI_OPEN_PARMS mciOpenParms;
MCI_RECORD_PARMS mciRecordParms;
MCI_SAVE_PARMS mciSaveParms;
MCI_PLAY_PARMS mciPlayParms;
// Open a waveform-audio device with a new file for recording.
mciOpenParms.lpstrDeviceType = "waveaudio";
mciOpenParms.lpstrElementName = "";
if (dwReturn = mciSendCommand(0, MCI_OPEN,
MCI_OPEN_ELEMENT | MCI_OPEN_TYPE,
(DWORD)(LPVOID) &mciOpenParms))
{
// Failed to open device; don't close it, just return error.
return (dwReturn);
}
// The device opened successfully; get the device ID.
wDeviceID = mciOpenParms.wDeviceID;
// Begin recording and record for the specified number of
// milliseconds. Wait for recording to complete before continuing.
// Assume the default time format for the waveform-audio device
// (milliseconds).
mciRecordParms.dwTo = dwMilliSeconds;
if (dwReturn = mciSendCommand(wDeviceID, MCI_RECORD,
MCI_TO | MCI_WAIT, (DWORD)(LPVOID) &mciRecordParms))
{
mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);
return (dwReturn);
}
// Play the recording and query user to save the file.
mciPlayParms.dwFrom = 0L;
if (dwReturn = mciSendCommand(wDeviceID, MCI_PLAY,
MCI_FROM | MCI_WAIT, (DWORD)(LPVOID) &mciPlayParms))
{
mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);
return (dwReturn);
}
if (MessageBox(hMainWnd, "Do you want to save this recording?",
"", MB_YESNO) == IDNO)
{
mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);
return (0L);
}
// Save the recording to a file named TEMPFILE.WAV. Wait for
// the operation to complete before continuing.
mciSaveParms.lpfilename = "tempfile.wav";
if (dwReturn = mciSendCommand(wDeviceID, MCI_SAVE,
MCI_SAVE_FILE | MCI_WAIT, (DWORD)(LPVOID) &mciSaveParms))
{
mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);
return (dwReturn);
}
return (0L);
}
Hello Шевченко,
Thursday, January 22, 2004, 7:58:46 AM, you wrote:
сенкс, буду разбираться
Приветец, Boris!
Tuesday, January 20, 2004, 12:12:57 AM, ты выдал:
Ну че, так трудно хелп открыть? Открываешь Win32 SDK Reference
В предметном указателе набираешь Video.
И смотришь че к чему. Если с английским не дружишь, используй
переводчика.
В частности, посмотри процедурку
HWND VFWAPI capCreateCaptureWindow(
LPCSTR lpszWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWnd,
int nID
);
и ее приложения.
Вообще-то эта тема не так проста как кажется. Где-то у меня была
програмулька okno с исходниками. Правда на сях, но общие принципы
посмотреть можно. Она просто создавала окно VFW с текущими настройками
каптуринга. Вообще гемор не в том чтобы окно создать - а в том чтобы
сделать (или вызвать) корректное диалоговое окно выбора источника для
VFW.