From: Martin Haller (dielheim_at_martin-haller.de)
Date: 16. Mar 2001
Christian Weisgerber wrote(naddy_at_mips.inka.de):
> Was für ein Sampleformat genau setzt bei OSS (Open Sound System)
> »AFMT_S8«?
>
> tmp = AFMT_S8;
> ioctl(fd, SNDCTL_DSP_SAMPLESIZE, &tmp);
>
> Klar, 8-Bit, vorzeichenbehaftet. Aber steckt da auch irgendeine
> Angabe zu µ-/A-Law drin?
Schau dir mal
http://www.opensound.com/pguide/oss.pdf
an. Auf Seite 32 steht da:
"The number of bits required to store a sample is:
[..]
* 8 bits for 8-bit-format, mu-law and A-law,
[..]"
In <soundcard.h> steht:
/* Audio data formats (Note! U8=8 and S16_LE=16 for
* compatibility) */
#define SNDCTL_DSP_GETFMTS _SIOR ('P',11, int) /*
Returns a mask */
#define SNDCTL_DSP_SETFMT _SIOWR('P',5, int) /* Selects
ONE fmt*/
# define AFMT_QUERY 0x00000000 /* Return
current fmt */
# define AFMT_MU_LAW 0x00000001
# define AFMT_A_LAW 0x00000002
[..]
# define AFMT_S8 0x00000040
soweit ich das sehe musst du, wenn du 8Bits/signed mu_law willst,
tmp = AFMT_8S | AFMT_MU_LAW mit SNDCTL_DSP_GETFMTS setzen.
tschüss Martin
Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET