web-dev-qa-db-ja.com

Webexオーディオが11.10で機能しない

プレゼンテーション、チャット、スクリーン共有、webexミーティングのすべてを見ることができますが、オーディオを機能させることができません。

「オーディオデバイスにアクセスできなくなりました」

誰が何が起こっているか知っていますか?

ありがとう。

16
Benner

この質問に対する答えを http://ubuntuforums.org/showthread.php?p=11757928 に投稿しました。

WebExアプレットは、独自のネイティブモジュールを使用してサウンドソフトウェアにアクセスします。これは32ビットの.soであるため、64ビットJVMによってロードすることはできません。通常の解決策は、WebExを使用しているときは常に32ビットブラウザーを実行することです。別の方法として、64ビットブラウザから32ビットJavaプラグインを実行できるようにnspluginwrapperユーティリティにパッチを適用しました(Firefoxでテストしましたが、Chromeでも動作するはずです)。

Nspluginwrapperの最新ソースを http://nspluginwrapper.org/download/ からダウンロードします

便利な場所でファイル(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のWebサイトからダウンロードしてインストールできます。

最後に、32ビットJavaインストールのlibディレクトリでファイルlibnpjp2.soを見つけます。 /usr/lib/jvm/ia32-Java-6-Sun/jre/lib/i386/で見つけました。

Execute

Sudo nspluginwrapper -i /usr/lib/jvm/ia32-Java-6-Sun/jre/lib/i386/libnpjp2.so

(またはJavaがインストールされている場所。)

次に、Firefoxを(再)起動します。アドレスバーに「aboutlugins」と入力します。新しくインストールされた32ビットJavaプラグインが表示されます。

音声付きでWebExミーティングに参加してみてください

7
Dan Menes

私はこのスレッドが古いことを知っていますが、Dan Menesが提供するソリューションを機能させるために2日間(とDanのメソッドは動作します)を経験しましたが、他の人が負けないように共有したい追加のステップがいくつかありました微調整で行ったように、勤務時間は数時間です。だから、ここに行きます:

まず、通常の方法でDanのパッチを「patch」コマンドで適用できませんでした。それを試みたときに、次のエラーが発生しました(ポスター「NW Tech」が取得したのと同じエラー:

ハンク#1は5128で失敗しました

それを修正する前に、既存のすべてのJava-ALL! webexを実行したときに、5または6のインストールされたjava、6と7のどちらが使用されているかわからないという問題がありました。また、確認方法がわからないため、すべてのJavaは、webexに使用されるものを除いて、確実にできます。それを行うことができます。または、方法がわかっている場合は、FirefoxがラップされたJavaを使用することを確認してください。私のように最初にすべてのJavaをリッピングすることを選択した場合、あなたのために壊れる可能性のあるものには一切責任を負いません-Ubuntu Linuxのコンピューターで音声なしでこのwebex問題を修正することに集中しましたラップされた32ビットJavaを確実に使用していることを確認したかったので、他のすべてのJavaを確実に代替手段でリッピングしました。

だから、続行...

また、JDK 1.7ではなく、JDK 1.6(1.6.0_45)の最後のディストリビューションを使用しました(テストせずに動作する可能性がありますが、この刺激的な問題1.6 64ビットラップJavaはwebexサウンドで動作するため、FINE!完了です!)。

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の場所は異なる場合があります-それは私が私の場所です)。

Idk番号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$ 

そのため、土曜日の朝、私は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();

追いかけるだけの場合、影響を受ける行は次のとおりです。便宜上、行番号を示します。 「patch」がエラーを与えたので、私は手作業で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

まあ、メイクはエラーを与えます。ポスター「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オーディオを戻すことができます。また、PulseaudioのツールバーウィジェットをUbuntu 12.04に戻すことができます。

Sudo apt-get install pulseaudio
Sudo apt-get install indicator-sound  

(Pulseオーディオを戻し、上部のウィジェットにインジケーターを戻します)。それを行った後、リブートしたい場合があります。

今すぐ試してみて、すべての手順を覚えていれば、Ubuntu 12.04 64ビットで64ビットmozilla firefoxブラウザーからwebexサウンドを実行でき、コンピューターを介してwebexサウンドが正常に動作するようになります! webexでサウンドを再生するために「コンピューターを使用」をクリックすると、小さなアプレットが開きます。

楽しんでください、そして、Dan Menesと "910Radar"と、srcコードにパッチを当てる方法、Java代替にエントリを追加する方法などの基本的な事柄に関する投稿がすべてある他の多くの "不明なポスター"私のUbuntuラップトップでこの問題を最終的に解決することが可能です!

4
user215211