Strona 1 z 1
Alsa i OSS
: 13 października 2006, 23:02
autor: Rad
Jak wiemy Linux dysponuje świetnym narzędziem zwanym ALS¡, które umożliwia nam odtwarzanie dźwięku. Większość nowoczesnych programów współpracuje z alsą bezproblemowo. Ale oczywiście niektórzy "programiści" dalej wolą używać przestarzałego OSS (/dev/dsp), a dokładniej jego emulacji dostarczanej przez sterowniki alsy. I tutaj u mnie tkwi problem. Jeżeli programy korzystają bezpośrednio z alsy, muzyka elegancko się miksuje i np. xmms odtwarza mp3, a xine i film i obie ścieżki dźwiękowe są odtwarzane równolegle do siebie. Lecz gdy włączę jakiś program korzystający z OSS (np. Firefox) to dźwięk już nie może być odtwarzany równocześnie. Jeżeli najpierw będę odtwarzał mp3, a potem włączę google video to dalej będę słuchał mp3, a na google video nie będzie dźwięku. Z kolei gdy włączę google video, a następnie xmms to dźwięk na google video będzie, a na xmms'ie nie.
Co trzeba zrobić, by dźwięk z /dev/dsp i z alsy mógł być odtwarzany równolegle?
: 15 października 2006, 21:01
autor: Witek Baryluk
Należy użyć programu arts, jest to emulator systemu OSS - przechwytuje on (w przestrzeni uzytkownika), odwołania do pliku /dev/dsp i przesyła je do biblioteki alsa. Wtedy miksuje wszystko jak należy.
Uzycie w man arts (najpierw zainstaluj),
W skrócie: $ arts program_korzystajacy_z_oss
pozdro
: 17 października 2006, 00:35
autor: Rad
Witek Baryluk pisze:Uzycie w man arts (najpierw zainstaluj),
Zrobiłem aptitude install arts, ale coś to nie działa:
Kod: Zaznacz cały
$ arts firefox
bash: arts: command not found
Co zrobiłem źle?
: 17 października 2006, 18:52
autor: Witek Baryluk
Chyba się pomyliłem. może to się nazywało podobnie do arts, ale nie dokładnie, niestety nie pamiętam.
Przeczytaj może to
http://pl.docs.pld-linux.org/uslugi_alsa_step.html
[ Dodano: 2006-10-17, 18:59 ]
Spróbuj zamiast komendy arts, użyć artsdsp (nie wiem w jakim pakiecie jest).
: 17 października 2006, 19:02
autor: Kaka'
Zainteresuj się może: alsa-oss i alsaplayer-oss.
Pozdrawiam!
: 17 października 2006, 20:38
autor: Rad
Rozwiązanie:
Pakiet alsa-oss + ~/.asoundrc
pcm.dsp {
type plug
slave.pcm "hw:0"
}
Oczywiście również potrzebny jest załadowany moduł snd_pcm_oss. Cały czas wydawało mi się, że alsa-oss to moduły do kernela :/.
Dzięki za pomoc.
: 17 października 2006, 20:42
autor: Kaka'
pcm.dsp {
type plug
slave.pcm "hw:0"
}
Tylko tyle dodałeś do ~/.asoundrc?
: 17 października 2006, 21:05
autor: Rad
Kaka' pisze:Tylko tyle dodałeś do ~/.asoundrc?
Tak, to wystarczy, można jeszcze dodać
ctl.mixer {
type hw
card 0
}
Demixera nie ma sensu aktywować, ponieważ praktycznie wszystkie karty wspierają sprzętowe miksowanie.
: 17 października 2006, 21:07
autor: Kaka'
Ok, dzięki!
Pozdrawiam!