[RoLUG] GSleep 1.1 is out

Dario Rigolin drigolin@iol.it
Ven 19 Set 2003 20:27:25 CEST


On Friday 19 September 2003 18:18, Eduard Roccatello wrote:
>> 	/* AFMT_S16_LE 0x00000010 Little endian signed 16 */
> 	formato = AFMT_S16_LE;
> 	stereo = 1;
> 	speed = 44100;
>
> 	/* Imposto il formato */
> 	if (ioctl(cardFd, SNDCTL_DSP_SETFMT, &formato)==-1) {
> 		perror("Formato");
> 		exit(-1);
> 	}
> 	/* Imposto la modalita` stereo */
> 	if (ioctl(cardFd, SNDCTL_DSP_STEREO, &stereo)==-1) {
> 		perror("Stereo");
> 		exit(-1);
> 	}
> 	/* Imposto il data rate a 44100 */
> 	if (ioctl(cardFd, SNDCTL_DSP_SPEED, &speed)==-1) {
> 		perror("Speed");
> 		exit(-1);
> 	}


Attento Enrico che nell'esempio di Eduard viene dato per scontato che il file 
Wav in lettura sia stereo a 16Bit Little Endian Signed e campionato a 
44100Hz.
Ovviamente se dai direttamente in pasto a /dev/dsp un Wav sbagliato potresti 
correre il rischio di fare dei danni alle tue casse o peggio se indossi le 
cuffie potresti subire danni permanenti ai timpani... Non saresti il primo 
caso...

L'header del file Wav ha una struttura semplice che contiene appunto i dati 
relativi alle caratteristiche del file...

Ritornando alla tua domanda iniziale: ovviamente mandare lo stream digitale 
del CDROM direttamente su /dev/dsp è un pochetto diverso ma Eduard ti ha 
messo sulla buona strada...

Ciao e buon ascolto.
-- 
Dario Rigolin
Mobile: +39 347 7232652


Maggiori informazioni sulla lista RoLUG