83 lines
2.3 KiB
C++
83 lines
2.3 KiB
C++
#include <conio.h>
|
|
#include <stdio.h>
|
|
#include "..\CD_SND.H"
|
|
#include "c:\things\borlandc\jd_lib\wav_lib\wavplay.h"
|
|
|
|
|
|
int Load_Snd(void);
|
|
void Sonido( char Sonido );
|
|
|
|
typedef struct
|
|
{
|
|
char Nombre_del_Programa[70];
|
|
char Comentario_Inicial[70];
|
|
|
|
char VerHi, VerLow;
|
|
char Register;
|
|
|
|
long Records;
|
|
} CABECERA;
|
|
|
|
typedef struct
|
|
{
|
|
char Wave_Name[13]; // Nombre del Wave
|
|
char ID_code; // Codigo ID_ del Wave
|
|
unsigned long Pos; // Posici¢n de comienzo dentro del archivo destino
|
|
unsigned long Len; // Longitud
|
|
} CD_SND;
|
|
|
|
CD_SND CD_Snd[19];
|
|
|
|
|
|
|
|
int Load_Snd(void)
|
|
{
|
|
CABECERA Cabecera;
|
|
FILE *DESTINO;
|
|
|
|
if ( ( DESTINO = fopen( "CD_OUT.SND", "rb") ) == NULL )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
fread( &Cabecera, sizeof( Cabecera ), 1, DESTINO );
|
|
|
|
fread( CD_Snd, sizeof( CD_SND ), 19, DESTINO );
|
|
|
|
fclose(DESTINO);
|
|
return 1;
|
|
}
|
|
|
|
void main(void)
|
|
{
|
|
/*Û*/cprintf("Inicializando sonidos. "); /*Û*/
|
|
/*Û*/ switch ( InitSB() ) { /*Û*/
|
|
/*Û*/ case 0: /*Û*/
|
|
/*Û*/ cprintf(" --> Speaker Ok!\n\r"); /*Û*/
|
|
/*Û*/ break; /*Û*/
|
|
/*Û*/ case 1: /*Û*/
|
|
/*Û*/ cprintf(" --> Sound Blaster Ok!\n\r"); /*Û*/
|
|
/*Û*/ break; /*Û*/
|
|
/*Û*/ case 2: /*Û*/
|
|
/*Û*/ cprintf(" --> Dac Casero Ok!\n\r"); /*Û*/
|
|
/*Û*/ break; /*Û*/
|
|
/*Û*/ } /*Û*/
|
|
|
|
Load_Snd();
|
|
|
|
cprintf("\n\rFichero Posici¢n Longitud ID_Code\n\r");
|
|
for( int Sonido=0; Sonido < 19; Sonido++ )
|
|
{
|
|
while( kbhit() ) getch();
|
|
|
|
cprintf("%s %8ld %8ld %d\n\r", CD_Snd[Sonido].Wave_Name, CD_Snd[Sonido].Pos,
|
|
CD_Snd[Sonido].Len, (int)CD_Snd[Sonido].ID_code);
|
|
|
|
if ( PlayWav((char far *)"CD_OUT.SND", CD_Snd[Sonido].Pos, CD_Snd[Sonido].Len ) == -1 )
|
|
PlayLongWav((char far *)"CD_OUT.SND", CD_Snd[Sonido].Pos, CD_Snd[Sonido].Len );
|
|
|
|
while( kbhit() ) getch();
|
|
}
|
|
}
|
|
|