Webex音频不适用于11.10


16

我可以在Webex会议中看到演示文稿,聊天,屏幕共享,所有内容,但无法使音频正常工作,我总是得到:

“音频设备现在无法访问”

有人知道发生了什么吗?

谢谢。


在Twitter twitter.com/WebEx上告诉他们您的想法,如果有足够多的人抱怨他们会反面。
蒂姆·阿贝尔

Answers:


7

我刚刚在http://ubuntuforums.org/showthread.php?p=11757928上发布了该问题的答案。

WebEx applet使用专有的本机模块来访问声音软件。它是32位.so,因此不能由64位JVM加载。通常的解决方案似乎是在您每次使用WebEx时都运行32位浏览器。作为替代方案,我修补了nspluginwrapper实用程序,以便您可以从64位浏览器运行32位Java插件(我已经在Firefox上进行了测试,它也可以在Chrome上运行)。

http://nspluginwrapper.org/download/下载nspluginwrapper的最新资源。

在方便的位置展开文件(tar -xvzf)

将以下修补程序应用于文件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) {

您可能需要获取一些其他库才能使工作正常。我特别安装了:

sudo apt-get install libcurl4-nss-dev libxt-dev libgtk2.0-dev g++-multilib

YMMV。

获取依赖关系后,其:

./configure
make
sudo make install

然后,您将需要一个32位的jre。可以从Oracle网站下载并安装。

最后,找到该文件libnpjp2.solib32位Java安装目录。我在中找到它/usr/lib/jvm/ia32-java-6-sun/jre/lib/i386/

执行

sudo nspluginwrapper -i /usr/lib/jvm/ia32-java-6-sun/jre/lib/i386/libnpjp2.so

(或安装Java的任何地方。)

然后(重新)启动Firefox。在地址栏中输入“ aboutlugins”。您应该看到新安装的32位Java插件。

尝试通过声音加入WebEx会议


丹,您介意让它变得更加友好吗?即,有关如何应用补丁的说明?有关将文件放置在哪里的说明,是否可以运行命令行以实现相同效果?
布兰登·贝特尔森

将补丁文件放入src文件夹并运行补丁会给我一个不同的错误:patch <0001 * .txt补丁文件npw-viewer.c Hunk#1失败,发生在5128。1之1失败,即失败-将拒绝保存到文件npw-viewer.c.rej
NW Tech

5
现在是2014年9月,WebEx 仍然存在此问题。不会买。
David Tonhofer 2014年

可以在14.04上运行吗?
Ashu_FalcoN 2015年

@Ashu是否可以在Ubuntu 14.04上运行webex
Rajdeep Singh,

4

我知道这个线程是陈旧的,但是我花了2天的时间使Dan Menes提供的解决方案可以工作(并且Dan的方法确实可行),但是我还想分享一些其他步骤,这样其他人就不会失去12像我所做的调整一样工作数小时。所以,我们开始:

首先,我无法以通常的方式通过“ patch”命令应用Dan的补丁。当我尝试这样做时,出现了以下错误(与海报“ NW Tech”相同的错误,即:

Hunk#1失败5128

在解决该问题之前,我先删除了所有现有的Java-全部!我遇到一个问题,当我运行webex时,我不确定5个或6个安装的Java中的6个和7个都在使用,并且由于我不知道如何确定,因此我只删除了所有Java。用于webex的那个,这样我可以确定。您可以这样做,或者如果您知道如何做,请确保firefox如下所述使用包装的Java。如果您选择像我一样先删除所有Java,那么对于可能会破坏您的一切我不承担任何责任-我只是专注于解决此webex问题,而在Ubuntu Linux上通过计算机没有音频,因此我想确保我肯定使用的是包装好的32位Java,因此请确保将其他所有Java都撕掉了。

所以,继续...

另外,我使用的是JDK 1.6(1.6.0_45)的最新发行版,而不是JDK 1.7(它可能可以工作,但我没有测试过它,不在乎我已经解决了这个令人烦恼的问题1.6用于Webex声音的64位包装Java ,所以,好!我完成了!)。

在安装Oracle Sun Java 1.6.0_45之前,我已经完全删除了Ubuntu 12.04上所有现有的Java。为此,我使用了以下步骤:

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

运行完这些步骤之后,我安装了JDK 1.6.0_45,然后将其安装在替代产品中,然后检查以查看替代产品仅具有1.6.0_45,以确保我确实选择了为64位浏览器包装的java-32。通缉。

但是,在我无法做到这一点之前,我不得不将其放入替代方式,我这样做是这样的:

sudo update-alternatives --install“ / usr / bin / java”“ java”“ / usr / lib / jvm / java-6-oracle / bin / java” 1050

(您的java32 jdk6的位置可能有所不同-这就是我放置的位置)。

知道数字1050是什么意思-这是“优先级”,我不知道这是否重要。我的替代方案现在看起来像这样:

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$ 

因此,在睡觉之后,在Satuday早上,我看了第5128行的代码,只是手动将补丁粘贴到文件中,因为补丁无法自动应用。

/home/gstanden/Downloads/nspluginwrapper-1.4.4/src/npw-viewer.c

以下是片段前后,它们显示了如何放置修补代码:

这是修补的npw-viewer.c与未修补的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();

如果您只是想追逐目标,那么这里是受影响的行,为方便起见显示了行号。我只是手工输入了一个已应用的Dan补丁,因为“补丁”给出了错误,并且可以正常工作。

从5128行开始,这是应用补丁后的外观:

   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) {

请注意,应该在第5139行和第5129行的“#”字符存在,不要删除它们,在代码中保留#。当然,行号不会出现在完成的编辑文件中,它们只是在此处显示,以方便您查找此修补代码的去向。

现在,您可以从命令行继续运行make:

cd /home/gstanden/Downloads/nspluginwrapper-1.4.4
make

好吧,make会出错。海报“ 910Radar”想出了那个。您必须在make命令上附加一些代码片段,然后手动运行它。您可以在此处看到“ 910Radar”帖子:http ://ubuntuforums.org/showthread.php?t=1858097

他所做的(以及我所做的)是手动运行make命令的,如下所示(并且有效)。该命令在这里,只需将其粘贴到命令行中即可:

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

而且有效。现在,您可以为“ nspluginwrapper”运行“ make install”,然后可以运行它来包装已安装的32位Java,以便64位firefox可以使用它,该命令为:

sudo nspluginwrapper -i /usr/lib/jvm/java-6-oracle/jre/lib/i386/libnpjp2.so

它应该返回没有错误和消息的命令提示符。请注意,如果您的libnpjp2.so位于其他目录中,那么请使用您的路径。

我还发现,尽管pulseaudio在我的Ubuntu 12.04(YouTube,视频等)上运行,但“测试音频”在Ubuntu设置的“声音”面板上却无法运行。确定修复在Ubuntu上发现的声音问题是个好主意,我也修复了该问题。我发现解决该问题需要执行以下步骤:

sudo apt-get install libcanberra-pulse

然后,一旦完成,“测试”左右扬声器将非常好用(柔和的女性声音对您说话,多么好听,告诉您您的扬声器在每一侧都在工作,多么可爱)。

另外,如果您曾经去过说剥除pulseaudio的页面,并且像我一样找到了,那么就解决webex问题没有修复计算机声音的问题而言,剥除pulse音频是行不通的(至少对我而言不是这样) ),则可以使用以下命令将Pulse Audio以及pulseaudio的工具栏小部件放回Ubuntu 12.04:

sudo apt-get install pulseaudio
sudo apt-get install indicator-sound  

(将脉冲音频放回去,然后将指示器放回顶部的小部件上)。完成此操作后,您可能需要重新启动。

现在尝试一下,并希望我能记住所有步骤,您将能够在64位Ubuntu 12.04上的64位mozilla firefox浏览器上运行webex声音,并且可以通过计算机正常运行内置的webex声音!在webex中单击“使用我的电脑”以获取声音时,会打开一个小程序。

尽情享受,并感谢Dan Menes和“ 910Radar”以及其他许多“未知海报”,他们发布了有关如何修补src代码,如何向java替代项添加条目等基本内容的帖子,所有这些使最终解决这一问题成为可能我的Ubuntu笔记本电脑上的问题!


哇!您很幸运,Webex只需这么几个步骤就可以工作。几天的配置,安装,重新启动,firefox / chrome / IE / IE4、5、6 / Opera,格式化,牺牲和仍然无法使用webex。思科如何提供这种狗屎产品?
加尼甚克里希南

-1

看看这里这里的初始帖子

他们建议使用另一种使用32位Java插件的浏览器安装(例如swiftfox)。


1
Swiftfox不再可供下载。首席开发人员不久后就退出了工作,下载链接当前都显示404。
NW Tech
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.