Article View: es.comp.os.linux.programacion
Article #17951Re: Grabar/Reproducir Sonido en Linux (C).
From: *puntero_loco
Date: Wed, 13 Oct 1999 00:00
Date: Wed, 13 Oct 1999 00:00
68 lines
3527 bytes
3527 bytes
-----BEGIN PGP SIGNED MESSAGE-----
El Tue, 12 Oct 1999 14:04:56 +0200, NoP / Compiler nos ray� diciendo:
|
| Enas...
|
| Sobre todo este mensaje va dirigido a *puntero_loco, aunque si
|alguien sabe del tema, y responde, mejor que mejor... El caso
|es que quiero saber grabar y reproducir sonido en Linux. S� que
|se hace usando ioctl, pero no tengo NPI de como se elige la
|frecuencia de muestreo, 8/16 bits, mono/stereo, etc...
|
| �alguien me echa una mano?
Famoz a ver. En principio puedes leer y reproducir sonido leyendo/escribiendo
directamente sobre los diversos archivos en el /dev que �abstraen� los
dispositivos de sonido. Leyendo/escibiendo en el /dev/audio te dar� un .au de
8 bits y 11 Khz, leyendo el /dsp te producir� un .wav de 16 bits y 22 Khz,
etc. Es decir, un fread te dar� en el buffer que le pases lo que est� sonando
por el micr�fono, mientras que un fwrite (o write) har� reproducir el sonido.
Puedes hacer la prueba de mandar un .wav a /dev/dsp y ver como se reproduce.
Yo para lo que he hecho hasta ahora me ha sobrado con esos dos
dispositivos, pero creo que tu vas a necesitar algo m�s exigente.
Sin embargo para mayor control lo que necesitas es conocer el API del OSS (o
del ALSA, que es compatible), o ya dependiendo de lo que quieras hacer, puede
que tengas que usar IOCTLS (por ejemplo para reproducir una pista de un CD de
audio).
Pero como digo creo que lo que te interesa es empollarte el API del OSS. En la
�ltima versi�n de la gu�a sobre programaci�n de LDP (no se si estar� ya
traducida esta versi�n en Lucas), habla tambi�n del sonido.
Lo mejor es que �uses las fuentes Luke� y te mires alg�n programa de sonido
sencillo (play, rec, etc), buscando siempre los que menos ocupen.
Por ejemplo: midis: Abcmidi (57 Kb)
Mods: s3mod (42 Kb)
Voc y wavs: bplay (19 Kb)
Control del sonido: xmix (22 Kb).
Tambi�n puedes mirarte la cabecera /usr/include/linux/soundcard.h donde est�n
definidos todos los ioctls.
Suerte.
- --
____ _ _
__/\_| _ \ _ _ _ __ | |_ ___ _ __ ___ | | ___ ___ ___
\ / |_) | | | | '_ \| __/ _ \ '__/ _ \ | | / _ \ / __/ _ \
/_ _\ __/| |_| | | | | || __/ | | (_) | | |__| (_) | (_| (_) |
\/ |_| \__,_|_| |_|\__\___|_| \___/___|_____\___/ \___\___/
|_____|
P�gina personal + clave p�blica: http://personal5.iddeo.es/jajs
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: latin1
Comment: Requires PGP version 2.6 or later.
iQCVAwUBOAR2kwRI4vufvzrFAQFG1AP/ZHkMraj3tOq76zNmmAMpZxColO9zKZOE
J5WJ6DafcOk7BAiS990YpCKc0rpXwKxdkH9iv3iEPqJNLqCvDM1NWXKz9sZ8gA4A
04u370XeR/CAAs2RI7IgNQmNz67phgnx78LcQL2cVM++8t6g27thbNZ89KrwBuDr
z4VTqxv+SqA=
=kRiD
-----END PGP SIGNATURE-----
Technical Details
Message-ID:
<mqs1u7.qg.ln@127.0.0.1>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<380323E8.859EF57A@iname.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,42e4d2388b647d2f X-Google-Attributes: gidf86c8,public From: jajs@QuItAeStOretemail.es (*puntero_loco) Subject: Re: Grabar/Reproducir Sonido en Linux (C). Date: 1999/10/13 Message-ID: <mqs1u7.qg.ln@127.0.0.1> X-Deja-AN: 536408931 Content-Transfer-Encoding: 8bit References: <380323E8.859EF57A@iname.com> Content-Type: text/plain; charset=iso-8859-1 Organization: Tarifa plana para todos YA! Mime-Version: 1.0 User-Agent: slrn/0.9.5.3 (UNIX) X-EstadoCivil: Soltero y sin compromiso Newsgroups: es.comp.os.linux.programacion X-Persona: Impresionante