On 09-Jul-2003 Garrett Kajmowicz wrote:
> I'm just begining my first ALSA application. As a part of the GUI I need to
> prompt the user to select from a list the soundcard and input device for both
> recording and playback. How would you suggest doing this? Examples welcome.
Try this:
int err, i, n, cardnum;
char devname[8], cardname[32];
snd_ctl_card_info_t *hw_info;
// Scans all installed cards
snd_ctl_card_info_alloca(&hw_info);
cardnum=-1;
ctlhandle=0;
while (snd_card_next(&cardnum)>=0 && cardnum>=0) {
sprintf(devname, "hw:%d", cardnum);
if ((err=snd_ctl_open(&ctlhandle, devname, 0))<0) {
printf("snd_ctl_open(%s) Error: %s\n", devname, snd_strerror(err));
continue;
}
if ((err=snd_ctl_card_info(ctlhandle, hw_info))>=0) {
if (!strcmp(snd_ctl_card_info_get_driver(hw_info), "Echoaudio")) {
strcpy(card, devname);
strcpy(cardname, snd_ctl_card_info_get_name(hw_info));
printf("Card found: %s (%s)\n", snd_ctl_card_info_get_longname(hw_info),
devname);
break;
}
} else {
printf("snd_ctl_card_info(%s) Error: %s\n", devname, snd_strerror(err));
exit(1);
}
snd_ctl_close(ctlhandle);
ctlhandle=0;
}
if (!ctlhandle) {
printf("No Echoaudio cards found, sorry.\n");
return(0);
}
Bye.
-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel