AlSourcei

void alSourcei(ALuint source, ALenum param, ALint value): permite una propiedad a una fuente. Fijase en la "i" del final, esa nos indica que value es siempre un entero.

source: es la fuente a la que queremos aplicar la propiedad.

param: sirve para indicar que propiedad queremos asignar a la fuente: alGenSource(1,&fuente); alSourcei(fuente,AL_SOURCE_RELATIVE,AL_TRUE);//apartir la posición sera relativa al oyente float pos[]={0.1,2.0,5.0};// la posicion x=0.1 y=2.0 z=5.0 //tenga en cuanta que esa posición es ahora respecto a la posición del oyente //por eje. si la posición del oyente fuera x=1 y=0 z=0 //entonces la posición real sería x=1.1 y=2 z=5.0 alSourcefv(AL_POSITION,pos); alGenSources(1,&fuente); alSourcei(fuente,AL_CONE_INNER_ANGLE ,45.0);//angulo del cono interno alGenSources(1,&fuente); alSourcei(fuente,AL_CONE_OUTER_ANGLE ,90.0);//angulo del cono externo alGenSource(1,&fuente); alSourcei(fuente,AL_LOOPING ,AL_TRUE);//AL_TRUE para ctivar y AL_FALSE para desactivar unsigned int buffer; alGenSources(1,&fuente); alGenBuffers(1,&buffer); //cargar un archivo en al buffer alSourcei(fuente,AL_BUFFER ,buffer);//el identificador del buffer es un entero int estado; alGenSources(1,&fuente); alSourcei(fuente,AL_SOURCE_STATE,AL_PLAYING);//reproducir
 * AL_SOURCE_RELATIVE: deterina si la posición es respecto al oyente o a las coordinadas generales.
 * int fuente;
 * AL_CONE_INNER_ANGLE: determina el angulo que tendra el cono interno (mirar imagne). El sonido se coporta distinto segun si lo medimos dentro de uno u otro cono (En openAL)Openal3dcone2-4.jpeg
 * int fuente;
 * AL_CONE_OUTER_ANGLE: determina el angulo que tendra el cono externo (ver imagen).
 * int fuente;
 * AL_LOOPING: hace que cuando el sonido termine, empieze de nuevo (un bucle)
 * int fuente;
 * AL_BUFFER: permite asignar un buffer a una fuente
 * int fuente;
 * AL_SOURCE_STATE: Sirve para poner el estado de la fuente en AL_PLAYING, AL_STOPPED...

value: es el valor que quermos que tome la propiedad que se pone en param.

Errores que puede devolver
Receurde que para optener el error hay que usar alGetError.
 * AL_INVALID_VALUE: si el valor que ponemos en "value" no es valido para la proiedad que especificamos en "param"
 * AL_INVALID_ENUM: el valor que pusimos en "param" no es valido para esa función
 * AL_INVALID_NAME: el nombre de la fuente no es valido.
 * AL_INVALID_OPERATION: no se puede usar la función en ese contexto.
 * AL_INVALID_OPERATION: no se puede usar la función en ese contexto.