Alsa i OSS

Tematy związane z oprogramowaniem, instalacją, konfiguracją
Rad
Member
Posty: 1208
Rejestracja: 28 czerwca 2006, 15:05

Alsa i OSS

Post 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?
Witek Baryluk
Beginner
Posty: 207
Rejestracja: 26 czerwca 2006, 01:49
Lokalizacja: Kraków za firewallem

Post 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
Rad
Member
Posty: 1208
Rejestracja: 28 czerwca 2006, 15:05

Post 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

$ man arts
Brak podręcznika dla arts

Kod: Zaznacz cały

$ arts firefox
bash: arts: command not found
Co zrobiłem źle?
Witek Baryluk
Beginner
Posty: 207
Rejestracja: 26 czerwca 2006, 01:49
Lokalizacja: Kraków za firewallem

Post 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).
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Zainteresuj się może: alsa-oss i alsaplayer-oss.

Pozdrawiam!
Rad
Member
Posty: 1208
Rejestracja: 28 czerwca 2006, 15:05

Post 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.
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

pcm.dsp {
type plug
slave.pcm "hw:0"
}
Tylko tyle dodałeś do ~/.asoundrc?
Rad
Member
Posty: 1208
Rejestracja: 28 czerwca 2006, 15:05

Post 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.
Kaka'
Senior Member
Posty: 3018
Rejestracja: 30 lipca 2006, 13:17
Lokalizacja: Kartuzy

Post autor: Kaka' »

Ok, dzięki!

Pozdrawiam!
ODPOWIEDZ