USB sluchatka + ALSA - naraz nahravat a prehravat
Zdenek Janis
janis na alberon.cz
Čtvrtek Červenec 26 11:28:40 CEST 2007
Dobry den,
mam problem se soucasnym prehravanim a nahravanim s USB sluchatek. Pokud
spustim:
mplayer -ao alsa:device=usb_phone 01.mp3
tak v pohode hraje, kdyz DVD s 5.1 zvujem, tak taky krasne funguje,
pokud spustim dalsi mplayer, tak slysim oba zuky.
Pokus spustim samostatne:
arecord -D usb_phone /tmp/test.wav
tak co napovidam do mikrofonu tak to tam je. Ovsem pokud pustim mplayer
s vyse uvedenymi parametry a pote arecord (opet s vyse uvedenymi
parametry), tak dostanu chybu:
ALSA lib pcm_direct.c:1032:(snd_pcm_direct_initialize_slave) unable to
start PCM stream
ALSA lib pcm_dsnoop.c:569:(snd_pcm_dsnoop_open) unable to initialize slave
arecord: main:545: audio open error: Přerušena roura (SIGPIPE)
Nize zasilam obsah /etc/asound.conf a kdyz tuto definici pro USB
sluchatka s mikrofonem pouziji pro USB zvukovku, tak to s USB zvukovkou
funguje. Zkousel jsem to jeste na jinem PC s onboard zvukovkou a taky to
funguje.
Uz me nejak dochazeji napady co kde nastavit abych ty sluchatka mohl
plne pouzivat. On se snimi totiz nechce bavit skype, coz byl duvod, proc
jsem po tom zacal patrat.
Nektere vypisy z /proc/asound/... jsem jiz zasilal do konference dne
"18.5.2007 23:24" a mel subject "Vice zvukovych zarizeni na USB + ALSA".
Dekuji za pripadne napady co jeste nastavit/upravit.
Obsah /etc/asound.conf :
# definice zarizeni
pcm.hw_usb_phone {
type hw
card 1
nonblock true
mmap_emulation true
}
# definice vystupnich vlastnosti
pcm.dmix_usb_phone {
type dmix
ipc_key 100001
ipc_perm 0666
slave {
pcm "hw_usb_phone"
rate 48000
channels 6
format S16_LE
period_time 0
period_size 2048
buffer_time 0
buffer_size 8196
}
bindings {
0 0
1 1
2 4
3 5
4 3
5 2
}
}
# definice vstupnich vlastnosti
pcm.dsnoop_usb_phone {
type dsnoop
ipc_key 100001
ipc_perm 0666
slave {
pcm "hw_usb_phone"
rate 48000
channels 1
format S16_LE
period_time 0
period_size 2048
buffer_time 0
buffer_size 8196
}
bindings {
0 0
}
}
pcm.asym_usb_phone {
type asym
playback.pcm "dmix_usb_phone"
capture.pcm "dsnoop_usb_phone"
}
# definice celeho zarizeni
ctl.usb_phone = pcm.hw_usb_phone
pcm.usb_phone {
type plug
slave.pcm "asym_usb_phone"
}
--
Zdenek Janis
Další informace o konferenci Linux