Ich kann Präsentationen, Chats, Bildschirmfreigaben und alles in Webex-Besprechungen sehen, aber Audio funktioniert nicht. Ich bekomme immer:
"Auf das Audiogerät kann jetzt nicht zugegriffen werden"
Weiß jemand was passiert?
Vielen Dank.
Ich kann Präsentationen, Chats, Bildschirmfreigaben und alles in Webex-Besprechungen sehen, aber Audio funktioniert nicht. Ich bekomme immer:
"Auf das Audiogerät kann jetzt nicht zugegriffen werden"
Weiß jemand was passiert?
Vielen Dank.
Antworten:
Ich habe gerade eine Antwort auf diese Frage unter http://ubuntuforums.org/showthread.php?p=11757928 gepostet
Das WebEx-Applet verwendet ein proprietäres natives Modul, um auf die Sound-Software zuzugreifen. Es handelt sich um eine 32-Bit-.so-Datei, sodass sie nicht von einer 64-Bit-JVM geladen werden kann. Die übliche Lösung scheint darin zu bestehen, bei jeder Verwendung von WebEx einen 32-Bit-Browser auszuführen. Als Alternative habe ich das Hilfsprogramm nspluginwrapper gepatcht, damit Sie ein 32-Bit-Java-Plugin über einen 64-Bit-Browser ausführen können (ich habe mit Firefox getestet, es sollte auch mit Chrome funktionieren).
Laden Sie die neuesten Quellen für nspluginwrapper von http://nspluginwrapper.org/download/ herunter.
Erweitern Sie die Datei (tar -xvzf) an einem geeigneten Ort
Wenden Sie den folgenden Patch auf die Datei npw-viewer.c an:
--- 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) {
Möglicherweise müssen Sie einige zusätzliche Bibliotheken beschaffen, damit alles funktioniert. Insbesondere habe ich installiert:
sudo apt-get install libcurl4-nss-dev libxt-dev libgtk2.0-dev g++-multilib
YMMV.
Nachdem die Abhängigkeiten ermittelt wurden, wird Folgendes ausgeführt:
./configure
make
sudo make install
Dann brauchen Sie ein 32-Bit-jre. Dieser kann von der Oracle-Website heruntergeladen und installiert werden.
Suchen Sie abschließend die Datei libnpjp2.so
im lib
Verzeichnis der 32-Bit-Java-Installation. Ich fand es in /usr/lib/jvm/ia32-java-6-sun/jre/lib/i386/
.
Ausführen
sudo nspluginwrapper -i /usr/lib/jvm/ia32-java-6-sun/jre/lib/i386/libnpjp2.so
(Oder wo auch immer Ihr Java installiert wurde.)
Starten Sie dann Firefox (neu). Geben Sie "aboutlugins" in die Adressleiste ein. Sie sollten Ihr neu installiertes 32-Bit-Java-Plugin sehen.
Versuchen Sie, mit Ton an einer WebEx-Besprechung teilzunehmen
Ich weiß, dass dieser Thread veraltet ist, aber ich habe gerade 2 Tage gebraucht, um die von Dan Menes bereitgestellte Lösung zum Laufen zu bringen (und Dans Methode funktioniert), aber es gab einige zusätzliche Schritte, die ich teilen wollte, damit andere nicht verlieren Stunden Arbeitszeit wie ich mit den Tweaks. Auf geht's:
Erstens war ich nicht in der Lage, Dans Patch mit dem "Patch" -Befehl auf die übliche Weise anzuwenden. Als ich das versuchte, bekam ich den folgenden Fehler (den gleichen Fehler, den Poster "NW Tech" bekam, nämlich:
Hunk # 1 bei 5128 gescheitert
Bevor ich das reparierte, riss ich alle meine vorhandenen Java - ALL! Ich hatte das Problem, dass ich beim Ausführen von webex nicht sicher war, welches der 5 oder 6 installierten Java-Programme (6 und 7) verwendet wurde, und da ich nicht weiß, wie ich sicher sein soll, habe ich nur Java rausgerissen, außer das, das für webex verwendet werden soll, damit ich mir sicher sein kann. Sie können dies entweder tun oder, wenn Sie wissen, wie es geht, sicherstellen, dass Firefox Ihr umschlossenes Java wie unten beschrieben verwendet. Wenn Sie sich dafür entscheiden, Ihr gesamtes Java wie ich herauszureißen, übernehme ich KEINE VERANTWORTUNG für alles, was für Sie zerbrechen könnte. Ich habe mich nur darauf konzentriert, dieses Webex-Problem ohne Audio über den Computer unter Ubuntu Linux zu beheben, und wollte sicher sein Ich habe definitiv das umhüllte 32-Bit-Java verwendet, also habe ich alle anderen Java-Versionen herausgerissen, um sicherzugehen.
Also weiter ...
Außerdem habe ich die letzte Distribution von JDK 1.6 (1.6.0_45) NICHT JDK 1.7 verwendet (es könnte funktionieren). Ich habe es nicht getestet. Es ist mir egal, dass ich mit diesem irritierenden Problem fertig bin Ich bin fertig.
Vor der Installation von Oracle Sun Java 1.6.0_45 habe ich alle Java-Versionen auf meinem Ubuntu 12.04 vollständig entfernt. Dazu habe ich folgende Schritte ausgeführt:
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
Nachdem ich diese Schritte ausgeführt hatte, installierte ich JDK 1.6.0_45 und dann installierte ich es in Alternativen und überprüfte dann, ob es NUR 1.6.0_45 für Alternativen gab, um sicherzugehen, dass ich definitiv das für 64-Bit-Browser verpackte Java-32 aufnahm wollte.
Bevor ich das tun konnte, musste ich es in Alternativen umwandeln, was ich folgendermaßen tat:
sudo update-alternatives --installieren Sie "/ usr / bin / java" "java" "/ usr / lib / jvm / java-6-oracle / bin / java" 1050
(Ihr java32 jdk6-Standort kann variieren - dort habe ich meinen abgelegt).
Idk was die Zahl 1050 bedeutet - es ist die "Priorität" Ich weiß nicht, ob das wichtig ist oder nicht. Meine Alternativen sehen jetzt so aus:
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$
Nachdem ich am Samstagmorgen darauf geschlafen hatte, schaute ich mir den Code in Zeile 5128 an und fügte den Patch einfach manuell in die Datei ein, da der Patch Probleme hatte, ihn automatisch anzuwenden.
/home/gstanden/Downloads/nspluginwrapper-1.4.4/src/npw-viewer.c
Hier sind die vor und nach Schnipsel, die zeigen, wie Sie den Patch-Code platzieren müssen:
Hier ist der Unterschied zwischen dem gepatchten npw-viewer.c und dem nicht gepatchten 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();
Wenn Sie nur auf die Verfolgungsjagd zuschneiden möchten, werden hier die betroffenen Zeilen und die Zeilennummern zur Vereinfachung angezeigt. Ich habe gerade einen angewendeten Dan's Patch von Hand eingespielt, da "patch" einen Fehler gab und es funktionierte.
Ab Zeile 5128 sollte es so aussehen, nachdem der Patch angewendet wurde:
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) {
Beachten Sie, dass die Zeichen "#" in Zeile 5139 und Zeile 5129 vorhanden sein sollen. Entfernen Sie sie nicht. Lassen Sie das # im Code. Natürlich gehen die Zeilennummern nicht in die fertig bearbeitete Datei ein. Sie werden hier nur der Einfachheit halber angezeigt, damit Sie feststellen können, wo sich dieser gepatchte Code befindet.
Jetzt können Sie make über die Befehlszeile ausführen:
cd /home/gstanden/Downloads/nspluginwrapper-1.4.4
make
Nun, die Marke wird Fehler geben. Das Plakat "910Radar" hat das herausgefunden. Sie müssen ein kleines Snippet an den Befehl make anhängen und es manuell ausführen. Sie können den Beitrag "910Radar" hier sehen: http://ubuntuforums.org/showthread.php?t=1858097
und was er tat (und was ich tat), war das manuelle Ausführen des Befehls make, wie folgt (und es funktioniert). Dieser Befehl ist hier, fügen Sie ihn einfach in die Befehlszeile ein:
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
und es funktioniert. Jetzt können Sie "make install" für "nspluginwrapper" ausführen und es dann ausführen, um das installierte 32-Bit-Java zu verpacken, damit der 64-Bit-Firefox es verwenden kann. Dieser Befehl lautet:
sudo nspluginwrapper -i /usr/lib/jvm/java-6-oracle/jre/lib/i386/libnpjp2.so
Das sollte eine Eingabeaufforderung ohne Fehler und ohne Meldungen zurückgeben. Hinweis: Wenn sich Ihre libnpjp2.so in einem anderen Verzeichnis befindet, verwenden Sie natürlich Ihren Pfad.
Ich habe auch festgestellt, dass, obwohl pulseaudio auf meinem Ubuntu 12.04 (Youtube, Video usw.) lief, das "Testaudio" in den Ubuntu-Einstellungen auf dem "Sound" -Panel nicht funktionierte. Wenn ich herausfinde, dass es eine gute Idee ist, ein Problem mit meinem Ubuntu zu beheben, habe ich das auch behoben. Ich habe festgestellt, dass zur Behebung dieses Problems der folgende Schritt erforderlich ist:
sudo apt-get install libcanberra-pulse
und dann, wenn das erledigt ist, funktionieren die "Test" -Lautsprecher rechts und links einfach großartig (eine sanfte weibliche Stimme spricht zu Ihnen, wie schön, sagt Ihnen, dass Ihre Lautsprecher auf jeder Seite arbeiten, wie schön).
Wenn Sie bereits auf der Seite waren, auf der es heißt, Pulseaudio herauszureißen, und wie ich herausgefunden haben, funktioniert das Herausreißen von Puls-Audio nicht so weit, dass das Problem "Kein Computer-Sound für Webex" behoben wird (zumindest nicht für mich) ) Dann können Sie Puls Audio und das Symbolleisten-Widget von PulsAudio mit den folgenden Befehlen auf Ubuntu 12.04 zurücksetzen:
sudo apt-get install pulseaudio
sudo apt-get install indicator-sound
(Setzt Puls-Audio zurück und setzt die Anzeige oben wieder auf die Widgets). Möglicherweise möchten Sie danach einen Neustart durchführen.
Probieren Sie es jetzt aus und hoffentlich können Sie, wenn ich mich an alle Schritte erinnere, Webex-Sound von Ihrem 64-Bit-Mozilla-Firefox-Browser auf Ubuntu 12.04 64-Bit ausführen. Der integrierte Webex-Sound über den Computer funktioniert einwandfrei! Ein kleines Applet wird geöffnet, wenn Sie in webex auf "Meinen Computer verwenden" klicken.
Viel Spaß und vielen Dank Dan Menes und "910Radar" und vielen anderen "unbekannten Postern", deren Posts über grundlegende Dinge wie das Patchen von Quellcode, das Hinzufügen von Einträgen zu Java-Alternativen usw. allesamt die endgültige Lösung ermöglichten Problem auf meinem Ubuntu-Laptop!
Schauen Sie sich hier oder den ersten Beitrag hier an .
Sie schlagen vor, eine andere Installation eines Browsers (z. B. swiftfox) zu verwenden, der ein 32-Bit-Java-Plugin verwendet.