26 Rutinas de grabaci�n de sonido


int install_sound_input(int digi_card, int midi_card);
Inicializa el m�dulo de grabaci�n de sonido, devolviendo cero si no hubo problemas. Debe instalar el sistema normal de reproducci�n de sonido antes de llamar esta rutina. Los dos par�metros de tarjetas deben ser los mismos que en install_sound(), incluyendo DIGI_NONE y MIDI_NONE para desactivar partes del m�dulo, o DIGI_AUTODETECT y MIDI_AUTODETECT para adivinar el hardware.

Relacionado con: DIGI_*/DOS, DIGI_*/Windows, DIGI_*/Unix, DIGI_*/BeOS, DIGI_*/QNX, install_sound, start_sound_input, midi_recorder, MIDI_*/DOS, MIDI_*/Windows, MIDI_*/Unix, MIDI_*/BeOS, MIDI_*/QNX, Variables de configuraci�n est�ndar.
void remove_sound_input();
Desactiva el m�dulo cuando haya acabado de usarlo. Normalmente no debe llamar esta funci�n, porque remove_sound() y/o allegro_exit() lo har�n por usted.
Relacionado con: install_sound_input, remove_sound, allegro_exit.
int get_sound_input_cap_bits();
Comprueba qu� formatos de sonido son soportados por el controlador de entrada de audio, devolviendo uno de los valores del campo de bits:
      0 = entrada de audio no soportada
      8 = entrada de audio de ocho bits soportada
      16 = entrada de audio de diecis�is bits soportada
      24 = entrada de audio de ocho y diecis�is bits soportada
Relacionado con: get_sound_input_cap_stereo, start_sound_input, get_sound_input_cap_parm, get_sound_input_cap_rate.
int get_sound_input_cap_stereo();
Comprueba si el controlador de entrada de audio actual es capaz de grabar en est�reo.
Relacionado con: get_sound_input_cap_rate, start_sound_input, get_sound_input_cap_parm, get_sound_input_cap_bits.
int get_sound_input_cap_rate(int bits, int stereo);
Devuelve la frecuencia de grabaci�n de samples m�xima posible en el formato especificado, o cero si los ajustes no son soportados.
Relacionado con: get_sound_input_cap_stereo, start_sound_input, get_sound_input_cap_parm, get_sound_input_cap_bits.
int get_sound_input_cap_parm(int rate, int bits, int stereo);
Comprueba si la frecuencia de grabaci�n especificada, n�mero de bits y mono/est�reo es soportado por el controlador de audio actual, devolviendo uno de los siguientes valores:
      0 = es imposible grabar en este formato
      1 = grabar es posible, pero la salida de audio ser� suspendida
      2 = es posible grabar y reproducir sonidos a la vez
      -n = raz�n de muestreo no soportada, pero la raz�n 'n' puede funcionar
Relacionado con: get_sound_input_cap_stereo, start_sound_input, get_sound_input_cap_bits, get_sound_input_cap_rate.
int set_sound_input_source(int source);
Selecciona la fuente de la entrada de audio, devolviendo cero si no hubo problemas o -1 si el hardware no proporciona un registro de selecci�n de entrada. El par�metro debe ser uno de los valores:
      SOUND_INPUT_MIC
      SOUND_INPUT_LINE
      SOUND_INPUT_CD
Relacionado con: start_sound_input.
int start_sound_input(int rate, int bits, int stereo);
Comienza a grabar en el formato especificado, suspendiendo la reproducci�n de sonidos si es necesario (esto suceder� siempre con los controladores actuales). Devuelve el tama�o del buffer en bytes si hubo �xito, o cero si hubo alg�n error.
Relacionado con: digi_recorder, set_sound_input_source, get_sound_input_cap_parm, get_sound_input_cap_bits, get_sound_input_cap_rate, get_sound_input_cap_stereo, install_sound_input, read_sound_input, stop_sound_input.
void stop_sound_input();
Para la grabaci�n, ajustando la tarjeta de vuelta al modo normal de reproducci�n.
Relacionado con: start_sound_input.
int read_sound_input(void *buffer);
Recupera el buffer de audio grabado m�s reciente en el lugar especificado, devolviendo no-cero si el buffer ha sido copiado, o cero si todav�a no hay nuevos datos disponibles. El tama�o del buffer puede ser obtenido comprobando el valor de retorno de start_sound_input(). Debe llamar esta funci�n a intervalos regulares durante la grabaci�n (t�picamente unas 100 veces por segundo), o podr�a perder datos. Si no puede hacer esto lo suficientemente r�pido, use la funci�n callback digi_recorder() para almacenar la onda de sonido en un buffer m�s grande que haya creado antes. Nota: muchas tarjetas de sonido reproducen un click o sonido raro cuando alternan entre los modos de grabaci�n y reproducci�n, por lo que es buena idea descartar el primer buffer despu�s de comenzar la grabaci�n. La onda siempre se almacena en formato sin signo, con los datos est�reo siendo samples alternados izquierda/derecha.
Relacionado con: start_sound_input.
extern void (*digi_recorder)();
Si est� activada, esta funci�n es llamada por el controlador de entrada de sonido siempre que un nuevo buffer de sonido est� disponible, momento en el que puede usar read_sound_input() para copiar los datos a un lugar permanente. Esta rutina se ejecuta en contexto de interrupci�n, por lo que debe ejecutarse muy r�pidamente, el c�digo y la memoria que modifica debe estar bloqueada (locked), y no puede llamar desde ella rutinas de sistema o acceder a ficheros del disco.
Relacionado con: install_sound_input, start_sound_input.
extern void (*midi_recorder)(unsigned char data);
Si est� activada, esta funci�n es llamada por el controlador de entrada MIDI siempre que un nuevo byte de datos MIDI est� disponible. Se ejecuta en contexto de interrupci�n, por lo que debe ser muy r�pida y su c�digo/datos deben estar bloqueados (locked).
Relacionado con: install_sound_input, midi_out.

Volver al Indice