Üdv!
Adott egy gép, 2 hangkártyával, az egyik egy alaplapi, a másik meg egy emu10k. ALSA lib segítségével az egyiket programozható függvénygenerátorként szeretném használni. (a másikon meg munka közben halk zenét hallgatni... esetleg spektrumanalizálni a bemeti jelét...).
A gond, hogy az eszköz kiválasztását nem sikerült megoldanom.
...
char *device = "/dev/snd/pcmC1D0p";
// char *device = "default";
// char *device = "snd_intel8x0";
...
snd_pcm_open(&gen_hnd, device, SND_PCM_STREAM_PLAYBACK, 0);
...
Csah a "default" -ra működik, ha bármi egyebet írok me neki, akkor a
"
ALSA lib pcm.c:2227:(snd_pcm_open_noupdate) Unknown PCM /dev/snd/pcmC1D0p
Playback open error: No such file or directory
"
hibaüzenet keletkezik.
Eddig próbálgattam azokat a neveket megadni, amiket a mixer kiír, meg amiket a proc-ból kibányásztam, meg a /dev/snd eszközfájljait, de mindegyikre a fenti hibaüzenetet dobja. A pcm.c értelmezése számomra (még) bonyolult(nak tűnik) :(. Google-s keresésnél meg mindenütt csak a "default"-os megoldás van.
Honnan találhatom meg, hogy mit kell a "default" helyett írni egy adott hangeszközhöz?
"default" esetén a jelalakot kiküldi az emu10k-ra.
Ha van működő megoldás erre a problémára, az alsa-lib-en kívűl akár más lib is szóba jöhet, csak legyen dokumentálva.
- 4276 megtekintés
Hozzászólások
hw:0,1 vagy ilyesmi?
Illetve általános tanács: nézd meg, hogy a működő konstans mivé oldódik fel. Segíthet esetleg.
- A hozzászóláshoz be kell jelentkezni
... hmm... és műxik. Pedig a play/sox nevű progit hányszor paramétereztem így :D
Igaz, hogy másképp műxik, mint "default"-tal, csak recsegést ad ki sinus jel helyett, de innen már csak paraméterezés és pufferméret állítgatás, aztán csak jó lesz :)
(kellett nekem csúfolni a libasound-ot, most szívat XD )
-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba
- A hozzászóláshoz be kell jelentkezni
Nem tudom most mi a helyzet, de 2008-ban:
http://www.spinics.net/lists/alsa-devel/msg17257.html
- A hozzászóláshoz be kell jelentkezni