Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Problem raczej znany, pulseaudio + skype = mute wszystkich aplikacji za wyjątkiem samego skype, przynajmniej w ogromnym skrócie. Sam "problem" udało mi się rozwiązać bez większego problemu ale pojawił się za to inny. Generalnie rzecz biorąc wszystko sprowadza się do właściwości strumieni audio, które trafiają do serwera pulseaudio, a te z kolei można nadawać zgodnie z rozpiską, która jest pod http://0pointer.de/lennart/projects/pulseaudio/doxy … plist_8h.html . innymi słowy, jeśli chcemy zmienić smplayerowi media.role na video, to odpalamy go via:
PULSE_PROP='media.role=video' smplayer film.mp4
Nie chce mi się tego typu linijek wpisywać w każdy skrót wszystkiego co potrafi odtwarzać dźwięk, zatem jest pytanie: jak najlepiej zebrać te wszystkie aplikacje A/V i nadać im określone właściwości?
Offline
Dużo masz tych programów AV?
Bo może wystarczy przeedytować skróty w ~/.local/share/applications
i porobić aliasy w powłoce.
Offline
Aplikacji nie jest dużo ale zawsze trzeba brać pod uwagę, że mogą dojść nowe i przydałoby się opracować taki system by uwzględniał ewentualne zmiany w liście zarządzanych programów.
Chcę unikać edycji skrótów czy tworzyć nowych, to ma być generalnie niezależne od sposobu wywoływania procesu (konsola, własne skróty na panelach, pliki xdg, autostart, shell) . Da radę przy inicjacji procesu, np na podstawie jego nazwy, nadać mu odpowiednie opcje dla pulse? To są zwykłe zmienne systemowe przecie.
Offline
W powłoce to chodzi trochę inaczej, w środowisku graficznym trochę inaczej, nigdy mi aliansy powłoki nie chciały brykać w środowisku graficznym.
Chyba, ze by zrobić własne skrypty, które odpalają program ze zmiennymi, i ustawić w xdg - żeby je wywoływał przy odpowiednim typie pliku, a w konsoli po nazwie skrypta.
Jak zapiszesz sobie np /usr/loca/bin/smplayer to będzie w powłoce startował zamiast oryginalnego Smplayera (to zależy od kolejności ścieżek w zmiennej $PATH w /etc/profile).
Pavlo950 napisał(-a):
Czy pulse / apulse dla Skype to konieczność?
Konieczność, Skype ma wyłączone wyjście Alsy, można w nim ustawić tylko PA.
Przy czym z Apulse działa grzecznie.
Ostatnio edytowany przez Jacekalex (2015-05-28 12:39:59)
Offline
Nie było by problemu gdyby ludzie te swoje aplikacje dostosowywali do pulseaudio.
Przykładowo jest amarok i ts3. One mają prawdopodobnie ustawione rolę na music i phone. Nie mam pojęcia jak to sprawdzić, a że mam zdefiniowane póki co trzy -- music, video i phone -- to skoro działa, znaczy, że raczej takie mają przypisane role. xD
Do wyboru jest trochę więcej:
"video": for movie/video streams from media players "music": for music streams from media players "game": for audio from games "event": for event sounds (i.e. button clicks, ...) "phone": for phone data (i.e. voip speech audio) "animation": for animations (i.e. Flash) "production": for audio production applications. "a11y": accessibility applications (i.e. screen readers, ...) This is a property of the actual streamed data, not so much the application. However usually it is still safe to simply set a process-global environment variable.
I mając np. Skype (choć akurat tego nie mam) albo TS3, to jak ktoś zaczyna gadać i u siebie go słyszę na słuchawkach, to automatycznie amarok jest przyciszany do 60% (do zdefiniowania) max głośności, podobnie gdy ja zaczynam gadać. I to w przypadku amaroka i ts3 działa OOTB bez żadnych dodatkowych czynności i efekt jest wręcz powalający. xD
Z tego co widzę, vlc również reaguje na automatyczne przyciszanie, więc ma prawdopodobnie ustawione video. SMPlayer, mpv, mumble już nie działają i tu trzeba ręcznie ustawiać właściwości strumieni.
Może jeszcze napiszę do każdego z tych powyższych i się spytam czy może by nie zaimplementowali tej bardzo użytecznej funkcji. xD
Offline
Wychodzi na to, że mpv nawet miał chyba to zaimplementowane ale wywalił bo ludzie zgłaszali, że im pulse mutuje dźwięk i potraktowali to jako bug w pulse. https://github.com/mpv-player/mpv/issues/1173 Co to się porobiło w tym świecie linuxowym.
Może się uda ich nakłonić do implementacji tego ficzera z powrotem xD
No już wiem jak sprawdzić czy aplikacja ma ustaiowną jakąś rolę -- poniżej amarok:
May 28 14:02:11 morfikownia pulseaudio[61212]: media.role = "video" May 28 14:02:11 morfikownia pulseaudio[61212]: media.name = "audio stream" May 28 14:02:11 morfikownia pulseaudio[61212]: application.name = "Amarok" May 28 14:02:11 morfikownia pulseaudio[61212]: native-protocol.peer = "UNIX socket client" May 28 14:02:11 morfikownia pulseaudio[61212]: native-protocol.version = "30" May 28 14:02:11 morfikownia pulseaudio[61212]: application.id = "org.kde.phonon.amarok" May 28 14:02:11 morfikownia pulseaudio[61212]: application.version = "2.8.0" May 28 14:02:11 morfikownia pulseaudio[61212]: application.icon_name = "amarok" May 28 14:02:11 morfikownia pulseaudio[61212]: application.language = "C" May 28 14:02:11 morfikownia pulseaudio[61212]: application.process.id = "61277" May 28 14:02:11 morfikownia pulseaudio[61212]: application.process.user = "morfik" May 28 14:02:11 morfikownia pulseaudio[61212]: application.process.host = "morfikownia" May 28 14:02:11 morfikownia pulseaudio[61212]: application.process.binary = "amarok" May 28 14:02:11 morfikownia pulseaudio[61212]: window.x11.display = ":0" May 28 14:02:11 morfikownia pulseaudio[61212]: application.process.machine_id = "159815709bbc46c29ef786cfc497afd4" May 28 14:02:11 morfikownia pulseaudio[61212]: application.process.session_id = "1" May 28 14:02:11 morfikownia pulseaudio[61212]: module-stream-restore.id = "sink-input-by-media-role:video"
Ktoby pomyślał, że dali mu video. xD Tak czy siak to jest log z pulse (opcja -v)
Ostatnio edytowany przez morfik (2015-05-28 14:05:56)
Offline
Programy zazwyczaj mają wyjście Alsa lub OSS.
PA czy Jack jak chcą z nimi gadać, to powinny być zgodne z API Alsy, i np przy Jack-audio nie ma z tym problemu, z PA natomiast niczego nie można być pewnym.
Offline
Już się wyjaśniło czemu mumble nie działa jak trza: xD
module-stream-restore.id = "sink-input-by-media-role:game"
Trzeba będzie do nich napisać by to przepisali na phone. xD
Offline