Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция, связанная с этой страницей, Диспетчер сжатия видео, является устаревшей. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код не использовал эту функцию.]
В следующем примере используется функция ICDraw иICDrawStart, ICDrawStop, ICDrawFlushи макросы ICDrawEnd для рисования данных на экране.
DWORD dwNumBuffers;
// Find out how many buffers need filling before drawing starts.
ICGetBuffersWanted(hIC, &dwNumBuffers);
for (dw = 0; dw < dwNumBuffers; dw++)
{
ICDraw(hIC, 0, lpFormat, lpData, cbData, dw); // fill the pipeline
// Point lpFormat and lpData to next format and buffer.
}
ICDrawStart(hIC); // starts the clock
dw = 0;
while (fPlaying)
{
ICDraw(hIC, 0, lpFormat, lpData, chData, dw); // fill more buffers
// Point lpFormat and lpData to next format and buffer,
// update dw.
}
ICDrawStop(hIC); // stops drawing and decompressing when done
ICDrawFlush(hIC); // flushes any existing buffers
ICDrawEnd(hIC); // ends decompression