Реферат: Обзор элементов языка программирования
rect.bottom := rect.top+ddsd.dwHeight; rect.right := rect.left+ddsd.dwWidth;
DDStream.CreateSample(Surface, Rect, 0, Sample);
MMStream.SetState(STREAMSTATE_RUN);
end ;
Метод IDirectDrawStreamSample.UpdateвыводиточереднойкадрнаSurface. При достижении конца потока он вернет ошибку с кодом $40002 (MS_S_ENDOFSTREAM), я в этом случае просто перематываю поток к началу, методом Seek.
В этой программе инициализируется DirectDraw, создается Surface , а затем на него выводится видео из avi-файла.
15
2.7 Постановка проблемной программы (процедуры)
2.7.1 Описание проблемной программы
У программы Speaker1 (стр. 21) есть существенный недостаток. Обработка центральным процессором прерываний во время её выполнения влияет на точность соблюдения временных задержек. Попробуем подвигать мышью во время работы программы, и мы услышим перерывы в звучании динамика. По этой причине использование процедуры задержки DELAY является нежелательным. Процедура вывода звука, кроме того, «захватывает» центральный процессор, и одновременно выполнение других процедур оказывается невозможным. Улучшенный вариант программы использует второй канал таймера (программа speaker 2, стр. 22 ).
Надо помнить, что для использования таймера необходимо сначала подключить динамик ко второму каналу PPI, а затем записать единичные значения двух младших битов в порт динамика.
После манипуляции с мышью уже не будут приводить к прерывистому звучанию динамика.
2.7.2 Блок - схема проблемной программы
Блок-схема программы speaker2 (стр. 34) отличается от блок-схемы speaker1 (стр. 33) тем, что он более совершенен и не имеет такого недочёта как проблемы с мышью при его движении. Более наглядно можно посмотреть на
16
3 Организация производства
3.1 Комплекс технических средств, необходимый для решения задач
Для полноценной работы наших программы speaker1 и speaker2 необходим звук, который будет описан ниже.
Интегрированный AC-linkконтроллер в Intel 82801ВА I/OControllerHub (ICH2), имеющий поддержку AMRи CNR;
СтереоАС'97-аудиокодекAnalog Devices AD 1885;
На плате расположены пластмассовые разъёмы с цветной РС99 маркировкой (микрофонный вход, линейный выход, линейный вход), а также два внутренних разъёма - AUXin, CDin.
Программная часть:
Комплект П/О SoundMAXwithSPX от AnalogDevices с весом дистрибутива драйверов в 54 Мбайт. Заявлена оптимизация под ММХ и SSE2 SIMD инструкции для процессоров IntelPentiumIII и Pentium 4.
Драйвера:
Win98 SE, WinME иWin2K.
Совместимость с игровыми 2D SoundAPI:
- DirectSound/DirectX 8.0;
- Sound Production extensions (SPX);
- EAX2.0;
- A2D 1.0;
- Sensaura Macro FX / ZoomFX;
- IA-SIGI2DL2. Характеристики аудиокодека:
- полный дуплекс вплоть до 16 бит 48 кГц;
- SNR = 94дБА;