Программирование игр для Windows. Советы профессионала


Использование функций драйвера для проигрывания VOC-файлов - часть 7


////////////////////////////////////////////////////////////

void Voc_Set_Speaker(unsigned on)

{

// включить/выключить вывод звука

_asm {

mov bx,4       ; функция 4 включает или выключает вывод звука

mov ах,on       ; поместить флаг включить/выключить в регистр АХ

call driver_ptr ; вызов драйвера

} // конец ассемблерной вставки

} // конец функции

////////////////////////////////////////////////////////////

int Voc_Play_Sound(unsigned char far *addr,

unsigned char header_lehgth)

{

// проигрывает загруженный в память VOC-файл

unsigned segm,offm;

segm = _FP_SEG(addr);

offm = _FP_OFF(addr) + header_length;

asm

{

mov bx,6        ;Функция 6: воспроизведение"VOC-файла

mov ax,segm

mov es,ax       ; в регистр ES загружается сегмент

mov di,offm     ; и регистр DI загружается смещение

call driver_ptr ; вызов драйвера

} // конец ассемблерной вставки

} // конец функции

////////////////////////////////////////////////////////////

int Voc_Stop_Sound(void)

{

// прекращает воспроизведение звука

_asm

{ mov bx,8        ; функция 8 прекращает воспроизведение звука

call driver_ptr ; вызов драйвера

} // конец ассемблерной вставки

} // конец функции

////////////////////////////////////////////////////////////

int Voc_Pause_Sound(void)

{

// приостанавливает воспроизведение звука

_asm

{

mov bx,10       ; функция 10 приостанавливает

                ; воспроизведение звука

call driver_ptr ; вызов драйвера

} // конец ассемблерной вставки

} // конец функции /////////////////////////////////////////////////

int Voc_Continue_Sound(void)

{ // продолжает воспроизведение приостановленного звука

asm

{

mov bx,11        ; функция 11 продолжает воспроизведение

                 ; приостановленного звука

call driver_ptr  ; вызов драйвера

} // конец ассемблерной вставки

} // конец функции /////////////////////////////////////////////////

int Voc_Break_Sound(void)

{

// прерывает цикл воспроизведения звука

_asm

{

mov bx,12       ; функция 12 прерывает цикл воспроизведения звука




Начало  Назад  Вперед