Как одновременно в AVI записывать звук, avifil32.dll

Тема в разделе "WASM.WIN32", создана пользователем SCINER, 12 фев 2007.

  1. SCINER

    SCINER New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2007
    Сообщения:
    3
    Здравствуйте. Вот таким методом я считываю изображение с экрана и записываю в созданный AVI.
    Вопрос: Как сюда же считать и записать звук с выбранного девайса и источника.

    Код (Text):
    1.   'скопируем выделенный участок изображения на временный контекст
    2.   Call BitBlt(TmpDC, x,y,w,h, hDc, srcX, srcY vbSrcCopy)
    3.  
    4.   'захват изображения из пикчурбокса
    5.   Call GetDIBits(tmpDC, tmpBmp, 0, h, cArray(0), bmpInfo, 0)
    6.  
    7.   res = AVIStreamWrite(psCompressed, dwFrames, 1, VarPtr(cArray(0)), dwSize, AVIIF_KEYFRAME, ByVal 0&, ByVal 0&)
    Буду премного благодарен.
     
  2. SCINER

    SCINER New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2007
    Сообщения:
    3
    все сделал.
    теперь вопрос: что и как сделать, чтобы звук записывался не только в формате PCM, но и в любом выбранном формате (через выбранный кодек). Заранее спасибо.

    Как я понял между вызовами этих функций надо что-то еще делать.
    Код (Text):
    1.   AVIFileCreateStream
    2.   AVIStreamSetFormat
    Кстати кого действительно интеерсует вопрос записи со звуком - обращайтесь по мылу lenar2003 mail ru либо по аське 9507785.
     
  3. Kozyr__

    Kozyr__ New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2005
    Сообщения:
    213
    Адрес:
    Ukraine
    SCINER
    подскажи как ты пишешь ави со звуком.

    я сейчас делаю так:
    Код (Text):
    1. AVIFileOpen - открываю исходный файлик
    2. AVIFileGetStream - получаю 2 потока (видео и аудио)
    3. AVISaveV - пишу в новый ави-файл
    в результате получается авишка без звука :dntknw:

    Код (Text):
    1. AVISaveV("p.avi", NULL, NULL, 2, pStream, mCompressOptions);
    mCompressOptions - массив указателей на структуры AVICOMPRESSOPTIONS (структура заполнена нулями). если заполняю структуры с помощью AVISaveOptions - результат тот же.