Widzę prezentacje, czat, udostępnianie ekranu, wszystko na spotkaniu webex, ale nie mogę sprawić, by dźwięk działał, zawsze otrzymuję:
„Urządzenie audio jest teraz niedostępne”
Czy ktoś wie, co się dzieje?
Dzięki.
Widzę prezentacje, czat, udostępnianie ekranu, wszystko na spotkaniu webex, ale nie mogę sprawić, by dźwięk działał, zawsze otrzymuję:
„Urządzenie audio jest teraz niedostępne”
Czy ktoś wie, co się dzieje?
Dzięki.
Odpowiedzi:
Właśnie opublikowałem odpowiedź na to pytanie na stronie http://ubuntuforums.org/showthread.php?p=11757928
Aplet WebEx korzysta z zastrzeżonego natywnego modułu w celu uzyskania dostępu do oprogramowania dźwiękowego. Jest to 32-bitowy plik .so, więc nie można go załadować za pomocą 64-bitowej maszyny JVM. Wydaje się, że zwykle rozwiązaniem jest uruchamianie 32-bitowej przeglądarki za każdym razem, gdy korzystasz z WebEx. Alternatywnie załatałem narzędzie nspluginwrapper, aby można było uruchomić 32-bitową wtyczkę Java z 64-bitowej przeglądarki (testowałem z Firefoksem, powinna również działać z Chrome).
Pobierz najnowsze źródła nspluginwrapper ze strony http://nspluginwrapper.org/download/
Rozwiń plik (tar -xvzf) w dogodnej lokalizacji
Zastosuj następującą poprawkę do pliku npw-viewer.c:
--- npw-viewer.c 2011-06-30 23:18:57.000000000 -0400
+++ nspluginwrapper-1.4.4/src/npw-viewer.c 2012-03-11 14:09:35.104158681 -0400
@@ -5128,6 +5128,17 @@
}
handles[n_handles++] = handle;
dlerror();
+#else
+ /* Install libstdc++ for java */
+ const char libstcpp[] = "libstdc++.so.6";
+ D(bug(" trying to open standard C++ runtime '%s'\n", libstcpp ));
+ if ((handle = dlopen(libstcpp, RTLD_LAZY|RTLD_GLOBAL)) == NULL) {
+ npw_printf("ERROR: %s\n", dlerror());
+ return 1;
+ }
+ handles[n_handles++] = handle;
+ dlerror();
+
#endif
D(bug(" %s\n", plugin_path));
if ((handle = dlopen(plugin_path, RTLD_LAZY)) == NULL) {
Może być konieczne uzyskanie dodatkowych bibliotek, aby wszystko działało. W szczególności zainstalowałem:
sudo apt-get install libcurl4-nss-dev libxt-dev libgtk2.0-dev g++-multilib
YMMV.
Po uzyskaniu zależności jego:
./configure
make
sudo make install
Następnie potrzebujesz 32-bitowej wersji Jre. Można go pobrać ze strony internetowej Oracle i zainstalować.
Na koniec zlokalizuj plik libnpjp2.so
w lib
katalogu 32-bitowej instalacji Java. Znalazłem to w /usr/lib/jvm/ia32-java-6-sun/jre/lib/i386/
.
Wykonać
sudo nspluginwrapper -i /usr/lib/jvm/ia32-java-6-sun/jre/lib/i386/libnpjp2.so
(Lub gdziekolwiek zainstalowana była Twoja Java).
Następnie (ponownie) uruchom Firefox. Wpisz „aboutlugins” w pasku adresu. Powinieneś zobaczyć swoją nowo zainstalowaną 32-bitową wtyczkę Java.
Spróbuj dołączyć do spotkania WebEx z dźwiękiem
Wiem, że ten wątek jest nieaktualny, ale właśnie przeszedłem 2 dni od uruchomienia rozwiązania dostarczonego przez Dana Menesa (i metody Dana DZIAŁA), ale chciałem się podzielić kilkoma dodatkowymi krokami, aby inni nie stracili 12 godziny pracy, tak jak ja z poprawkami. Więc zaczynamy:
Po pierwsze, nie byłem w stanie zastosować łaty Dana za pomocą polecenia „patch” w zwykły sposób. Kiedy próbowałem to zrobić, otrzymałem następujący błąd (ten sam błąd, który dostał plakat „NW Tech”, czyli:
Przystojniak # 1 NIEudany o 5128
Zanim to naprawiłem, wyrwałem całą moją istniejącą Javę - WSZYSTKO! Miałem problem, że kiedy uruchomiłem webex, nie byłem pewien, która z 5 lub 6 zainstalowanych javas, zarówno 6, jak i 7, używała, a ponieważ nie wiem, jak się upewnić, po prostu zgarnąłem całą Javę, z wyjątkiem ten, który ma być użyty do webexu, bym mógł być pewien. Możesz to zrobić albo, jeśli wiesz jak, upewnij się, że firefox używa owiniętej Java w sposób opisany poniżej. Jeśli zdecydujesz się na zerwanie z całą swoją javą, tak jak ja, to nie biorę ŻADNEJ ODPOWIEDZIALNOŚCI za to, co może się z tobą zepsuć - po prostu skupiłem się na rozwiązaniu tego problemu z brakiem dźwięku przez komputer w systemie Ubuntu Linux i chciałem się upewnić Zdecydowanie korzystałem z owiniętej 32-bitowej javy, więc dla pewności zgarnąłem wszystkie inne java w alternatywne rozwiązania.
Kontynuując ...
Użyłem również ostatniej dystrybucji JDK 1.6 (1.6.0_45) NOT JDK 1.7 (może działać, nie testowałem tego, nie obchodzi mnie to, że skończyłem z tym irytującym problemem 1.6 64-bitowa java działa dla dźwięku webex , więc FINE! Skończyłem!).
Przed zainstalowaniem Oracle Sun Java 1.6.0_45 całkowicie rozerwałem całą istniejącą Javę na moim Ubuntu 12.04. Aby to zrobić, wykonałem następujące kroki:
sudo apt-get update
apt-cache search java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common' | xargs sudo apt-get -y remove
sudo apt-get -y autoremove
Po wykonaniu tych kroków zainstalowałem JDK 1.6.0_45, a następnie zainstalowałem go w alternatywnych wersjach, a następnie sprawdziłem, czy alternatywy mają TYLKO 1.6.0_45, aby upewnić się, że zdecydowanie wybrałem pakiet java-32 dla 64-bitowej przeglądarki, którą I chciał.
Zanim jednak mogłem to zrobić, musiałem znaleźć alternatywę, co zrobiłem w ten sposób:
sudo update-alternatives --install "/ usr / bin / java" "java" "/ usr / lib / jvm / java-6-oracle / bin / java" 1050
(Twoja lokalizacja java32 jdk6 może się różnić - tutaj umieściłem moją).
Idk, co oznacza liczba 1050 - to „priorytet” Nie wiem, czy to ma znaczenie, czy nie. Moje alternatywy wyglądają teraz tak:
gstanden@Ubuntu1204:/usr/lib/mozilla/plugins$ sudo update-alternatives --config java
[sudo] password for gstanden:
There is 1 choice for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-oracle/bin/java 1050 auto mode
* 1 /usr/lib/jvm/java-6-oracle/bin/java 1050 manual mode
Press enter to keep the current choice[*], or type selection number:
gstanden@Ubuntu1204:/usr/lib/mozilla/plugins$
Więc po spaniu na nim, w sobotę rano, spojrzałem na kod w linii 5128 i po prostu wkleiłem łatkę ręcznie do pliku, ponieważ łatka miała problem z automatycznym zastosowaniem.
/home/gstanden/Downloads/nspluginwrapper-1.4.4/src/npw-viewer.c
Oto fragmenty przed i po, które pokazują, jak umieścić kod łatki:
oto różnica między załatanym plikiem npw-viewer.c a niepoprawionym plikiem npw-viewer.c:
gstanden@Ubuntu1204:~/Downloads/nspluginwrapper-1.4.4/src$ diff npw-viewer.c npw-viewer.c.bak
5129,5138c5129,5130
< #else
< /* Install libstdc++ for java */
< const char libstcpp[] = "libstdc++.so.6";
< D(bug(" trying to open standard C++ runtime '%s'\n", libstcpp ));
< if ((handle = dlopen(libstcpp, RTLD_LAZY|RTLD_GLOBAL)) == NULL) {
< npw_printf("ERROR: %s\n", dlerror());
< return 1;
< }
< handles[n_handles++] = handle;
< dlerror();
---
> handles[n_handles++] = handle;
> dlerror();
Jeśli chcesz po prostu przejść do pościgu, oto linie, których to dotyczy, numery linii pokazane dla wygody. Po prostu włączyłem ręcznie nałożoną łatkę Dana, ponieważ „łatka” dała błąd i zadziałała.
Począwszy od wiersza 5128, oto jak powinien wyglądać po zastosowaniu łatki:
5128 }
5129 #else
5130 /* Install libstdc++ for java */
5131 const char libstcpp[] = "libstdc++.so.6";
5132 D(bug(" trying to open standard C++ runtime '%s'\n", libstcpp ));
5133 if ((handle = dlopen(libstcpp, RTLD_LAZY|RTLD_GLOBAL)) == NULL) {
5134 npw_printf("ERROR: %s\n", dlerror());
5135 return 1;
5136 }
5137 handles[n_handles++] = handle;
5138 dlerror();
5139 #endif
5140 D(bug(" %s\n", plugin_path));
5141 if ((handle = dlopen(plugin_path, RTLD_LAZY)) == NULL) {
Zauważ, że znaki „#” w linii 5139 i linii 5129 powinny tam być, nie usuwaj ich, pozostaw znak # w kodzie. Oczywiście numery wierszy nie są zapisywane w gotowym edytowanym pliku, są one tutaj pokazane dla wygody, aby pomóc Ci zlokalizować, gdzie idzie ten poprawiony kod.
Teraz możesz przejść do uruchomienia make z wiersza poleceń:
cd /home/gstanden/Downloads/nspluginwrapper-1.4.4
make
Cóż, marka da błąd. Plakat „910Radar” wymyślił to. Musisz dodać mały fragment kodu do polecenia make i uruchomić go ręcznie. Możesz zobaczyć post „910Radar” tutaj: http://ubuntuforums.org/showthread.php?t=1858097
a to, co zrobił (i to, co zrobiłem), uruchomiło polecenie make ręcznie, w następujący sposób (i działa). To polecenie jest tutaj, po prostu wklej je do wiersza poleceń:
gcc -std=c99 -o npplayer npplayer-npw-player.o npplayer-debug.o npplayer-rpc.o npplayer-utils.o npplayer-glibcurl.o npplayer-gtk2xtbin.o -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 -lglib-2.0 -lcurl -lXt -lX11 -lpthread -lgthread-2.0
i to działa. Teraz możesz uruchomić „make install” dla „nspluginwrapper”, a następnie możesz go uruchomić, aby owinąć 32-bitową Javę, którą zainstalowałeś, aby 64-bitowy Firefox mógł z niego korzystać, to polecenie:
sudo nspluginwrapper -i /usr/lib/jvm/java-6-oracle/jre/lib/i386/libnpjp2.so
który powinien zwrócić wiersz polecenia bez błędów i komunikatów. Uwaga: jeśli plik libnpjp2.so znajduje się w innym katalogu, użyj oczywiście swojej ścieżki.
Odkryłem również, że chociaż pulseaudio działało na moim Ubuntu 12.04 (YouTube, wideo itp.), „Dźwięk testowy” nie działał na panelu „dźwięk” w ustawieniach Ubuntu. Pomyśląc, że dobrym pomysłem byłoby naprawić każdy problem z dźwiękiem na moim Ubuntu, również to naprawiłem. Odkryłem, że naprawienie tego problemu wymaga tego kroku:
sudo apt-get install libcanberra-pulse
a potem, gdy to zrobisz, „testuj” prawy i lewy głośnik będą działać świetnie (miękki kobiecy głos mówi do ciebie, jak miło, mówiąc, że twoje głośniki pracują z każdej strony, jak cudownie).
Ponadto, jeśli byłeś już na stronie, która mówi, aby zgrać pulseaudio, i odkryłeś tak jak ja, to zgrywanie pulsu audio nie działa tak daleko, jak naprawianie braku dźwięku komputerowego dla problemu webex (przynajmniej nie dla mnie ), możesz przywrócić puls audio, a także widget paska narzędzi pulseaudio na Ubuntu 12.04, używając następujących poleceń:
sudo apt-get install pulseaudio
sudo apt-get install indicator-sound
(przywraca pulsowanie dźwięku i ponownie umieszcza wskaźnik w widżetach u góry). Po wykonaniu tej czynności możesz ponownie uruchomić komputer.
Teraz wypróbuj to i mam nadzieję, że jeśli zapamiętam wszystkie kroki, będziesz mógł uruchomić dźwięk webex z 64-bitowej przeglądarki Mozilla Firefox na Ubuntu 12.04 64-bit i mieć wbudowany dźwięk webex przez komputer działający dobrze! Mały aplet otwiera się po kliknięciu „użyj mojego komputera” w celu uzyskania dźwięku w webex.
Ciesz się, i dziękuję, dawno temu Dan Menes i „910Radar” oraz wielu innych „nieznanych plakatów”, których posty o podstawowych sprawach, takich jak łatanie kodu src, dodawanie wpisów do alternatyw Java, itp., Pozwoliły w końcu rozwiązać ten problem problem na moim laptopie z Ubuntu!
Spójrz tutaj lub na wstępny post tutaj .
Proponują użycie innej instalacji przeglądarki (np. Swiftfox), która korzysta z 32-bitowej wtyczki Java.