Pulseaudio problem - Skype i FF istovremena upotreba zvuka

Uputstva, saveti i trikovi

Moderator: Urednik

Post Reply

Administrator
Administrator
offline
User avatar

Posts: 854
Joined: 25 May 2008, 10:44
Location: Valjevo, Srbija

Post Napisano: 24 Oct 2014, 17:28


Ako ste pratili naš forum u poslednjih nekoliko meseci, primetili ste da je Skype, popularni VoIP program, nakon kupovine od strane Microsofta, u poslednjoj iteraciji na Linuks platformi (4.3) potpuno odbacio ALSA zvučni server i prešao na PulseAudio. Ako ste se na to i nekako privikli (pomirili sa činjenicom) verujem da ste iskusili dosta problema u radu sa PulseAudio serverom. Jedan od prilično iritantnih problema je da u default postavci, nakon instalacije neophodnih paketa (pulseaudio, zavisnosti, pavucontrol) zvuk radi samo na jednoj aplikaciji (ko pre serveru, njegov server!). Recimo, pustite YT klip u FF a onda pokrenete skype - klip radi, al skype ne daje nikakav zvuk... Isti problem je i sa aplikacijama poput VirtualBox-a...ako njega pokrenete nakon skype-a recimo, prijaviće grešku da je zvučni server zauzet.

Razlog za pojavu ovog problema je prilično jednostavan. Pomenute aplikacije su namenjene radu sa ALSA zvučnim serverom, koji na Slacku nije ugašen (radi uporedo sa PulseAudio serverom). Ali jedan server "poništava drugi" (ne dozvoljava normalan rad aplikacijama koje ga koriste).

Rešenje je srećom, prilično jednostavno i sastoji se iz dva koraka:

:arrow: instalacija paketa alsa-plugins iz SBo repoa - ovaj paket pruža (između ostalih) plugin koji omogućava neku vrstu "mosta" između dva audio servera. Da budem precizniji, omogućava aplikacijama koje koriste ALSA server da se preusmere na PulseAudio.
:arrow: Ukoliko u svom home direktorijumu nemate .asoundrc fajl (tačka ispred imena obavezna), kreirajte ga a potom u njega unesite sledeći sadržaj:

Code: Select all

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}
Nakon ova dva koraka, potrebno je da restartujete računar kako bi uživali u čarima korišćenja više audio izvora odjednom (što na linuksuu postoji odavno ali je izmišljanjem "PulseAudo tople vode" naprasno onemogućeno)

:beer:
nije važno samo raditi ono što voliš...važnije je voleti ono što radiš



Poznata ličnost
Poznata ličnost
offline

Posts: 104
Joined: 09 May 2014, 10:59

Post Napisano: 24 Oct 2014, 18:25


Ziveli



Poznata ličnost
Poznata ličnost
offline

Posts: 153
Joined: 15 Aug 2012, 23:51

Post Napisano: 02 Jan 2015, 15:06


Postoji rešenje i bez PulseAudia - radi kod mene, tačnije - PulseAudio se ne instalira!
Evo kako - najpre se instaliraju OpenAL i apulse, a pri izgradnji Skype paketa se doda opcija:

Code: Select all

bash-4.2# APULSE=yes sh skype.SlackBuild
a sam Skype se uvek pokreće komandom

Code: Select all

bash-4.2$ apulse skype
i sve funkcioniše normalno kao i sa ranijim verzijama i bez PulseAudia i njegovih dodatnih zavisnosti.

Nisam koristio Skype na Sleku nekoliko meseci do ovog rešenja, pa ako se neko reši da proba mislim da će prethodno biti potrebno da se liši eventualno instaliranih noviteta kod Skype zavisnosti i ukloni učinjene modifikacije u vezi sa njima. :beer:



Elitni član
Elitni član
offline
User avatar

Posts: 333
Joined: 15 Jul 2007, 03:58
Location: Beograd

Post Napisano: 19 Feb 2015, 11:59


Pozdrav svima!

Pre neki dan sam radio update sistema, sve je prošlo manje više OK, čak je i skype radio po Titty Twister predlogu, dan kasnije sav bitan pozovem kući, kad ono cvrc, ne radi mi mikrofon.

Sistem je Slack14.1 sa LXDE, zvučna karta je SB Audigy2 SB0350.

Onda se bacim u potragu za rešenjem, ali nije dala nikakve rezultate, tj. jeste, ali ne onako kako sam ja hteo, radi mi mikrofon sa kamere, a ne ovaj koji ide direktno u zvučnu kartu.

Nađoh među rešenjima da se pokrene:

Code: Select all

bash-4.2$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Audigy2 [SB Audigy 2 ZS [SB0353]], device 0: emu10k1 [ADC Capture/Standard PCM Playback]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Audigy2 [SB Audigy 2 ZS [SB0353]], device 1: emu10k1 mic [Mic Capture]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Audigy2 [SB Audigy 2 ZS [SB0353]], device 2: emu10k1 efx [Multichannel Capture/PT Playback]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Audigy2 [SB Audigy 2 ZS [SB0353]], device 4: p16v [p16v]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: U0x46d0x9a1 [USB Device 0x46d:0x9a1], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
da bi se videlo gde se kači mikrofon, pa onda sa tim se pokreće

Code: Select all

bash-4.2$ APULSE_CAPTURE_DEVICE="plughw:0,0" apulse skype
to bi bila podešavanja za mikrofon koji ide na zvučnu kartu, ali neće, zato hoće

Code: Select all

bash-4.2$ APULSE_CAPTURE_DEVICE="plughw:1,0" apulse skype
i tu uključuje mikrofon sa kamere.

Primetio sam da ako umesto

Code: Select all

plughw:1,0
postavim samo

Code: Select all

hw:1,0
nešto neće da radi, kao kad se ubrza traka od kasete, čuje se neki iskrivljeni zvuk.

Što se tiče alsamixer-a, tamo je sve uključeno, glasnoća za mikrofon je negde malo preko pola i kad govorim u mikrofon čujem svoj glas na zvučnicima, ali izgleda da skype nešto fali, čim ne može da radi tako.

Malo me nervira što radi ovako, hteo bih da šljaka stoni mikrofon, ako neko zna rešenje ili da postavim još nešto od podataka, neka rekne :D
Ako mislis pobjediti, ne smijes izgubiti!



Administrator
Administrator
offline
User avatar

Posts: 4101
Joined: 04 Feb 2011, 20:32
Location: Beograd
Contact:

Post Napisano: 19 Feb 2015, 12:48


Jedno od rešenja je napisati jednostavnu skriptu za to.

Nešto poput:

Code: Select all

#!/bin/sh
APULSE_CAPTURE_DEVICE="plughw:1,0"
export APULSE_CAPTURE_DEVICE

apulse skype
Sačuvati kao skype-wrapper negde u izvršnoj putanji. Recimo u /usr/local/bin.

Učiniti skriptu izvršnom pomoću chmod.

Code: Select all

chmod +x /usr/local/bin/skype-wrapper
I zatim iskopirati skype.desktop iz /usr/share/applications i izmeniti je na sledeći način:

Code: Select all

[Desktop Entry]
Name=Skype Wrapper
Comment=Skype Internet Telephony
Exec=skype-wrapper %U
Icon=skype.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Network;Application;
MimeType=x-scheme-handler/skype;
X-KDE-Protocols=skype
i sačuvati izmenjen fajl kao skype-wrapper.desktop u, recimo, /usr/local/share/applications

Nakon ovoga bi trebalo da se pojavi nova stavka u meniju "Skype wrapper". Ako vidiš da sve radi ok i da ti takva podešavanja odgovoraju onda možeš uz minimalne izmene prepisati originalni skype.desktop iz /usr/share/applications (postaviti da pokreće wrapper skriptu umesto direktno Skype-a).

Možda ima i neko bolje rešenje (recimo neko koje će učiniti da se oba ulaza prikazuju ispravno na mikseru), ali ovo je neka brza varijanta koja bi trebala da reši problem sada i odmah. :)



Administrator
Administrator
offline
User avatar

Posts: 4101
Joined: 04 Feb 2011, 20:32
Location: Beograd
Contact:

Post Napisano: 19 Feb 2015, 12:49


Samo da napomenem da nisam testirao gornje napisano. Pisano je više iz glave. Ali trebalo bi da radi. ;)



Elitni član
Elitni član
offline
User avatar

Posts: 333
Joined: 15 Jul 2007, 03:58
Location: Beograd

Post Napisano: 19 Feb 2015, 13:16


@bocke
Hvala za predlog, znaš kako, odavno sam napisao nekoliko skripti za pokretanje programa na startup-u sa određeneim kašnjenjem, među njima je i skype, evo kako to sad izgleda i radi

Code: Select all

#! /bin/bash

sleep 20 && hexchat &
sleep 23 && APULSE_CAPTURE_DEVICE="plughw:1,0" apulse skype &
exit
Može i ono što si ti predložio, ali zaboraviću gde sam postavio sve skripte i kad rikne sistem ajde Jovo nanovo.

Bilo bi dobro kad bi rešio stoni mikrofon, ovako mi stoji za ukras i skuplja prašinu, a ničemu ne služi.
Ako mislis pobjediti, ne smijes izgubiti!



Administrator
Administrator
offline
User avatar

Posts: 4101
Joined: 04 Feb 2011, 20:32
Location: Beograd
Contact:

Post Napisano: 19 Feb 2015, 13:19


Za to ćeš morati da sačekaš nekog drugog. Nemam sad vremena da se bavim time. ;)



Elitni član
Elitni član
offline
User avatar

Posts: 333
Joined: 15 Jul 2007, 03:58
Location: Beograd

Post Napisano: 19 Feb 2015, 13:27


OK, nije šećer u vodu :D
Ako mislis pobjediti, ne smijes izgubiti!


Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests