0

ALSA (snd_pcm_open、snd_pcm_readi など) を使用してアプリケーションを作成しました。アプリケーションは、私のマシンでローカルに完璧に動作します。ただし、別のマシンに SSH 接続して SSH 接続を介して実行すると、snd_pcm_open へのすべての呼び出しが失敗し、「デバイスが存在しません」などのメッセージが表示されます。リモート マシンには、ローカル マシンと同じようにサウンドカードがあります。

ここで何が問題になる可能性がありますか?

ありがとう!

編集:リモート コンピューターでコンソールを使用してアプリケーションを実行すると (コンピューターに移動し、ログインし、アプリケーションを実行します)、アプリケーションは正常に動作します。

4

4 に答える 4

2

The problem might be with /dev/snd/* access rights. Be sure the user is in the audio group. In my case, I had to do adduser $USER audio, disconnect and then reconnect.

于 2012-05-15T16:08:40.653 に答える
1

明らかなことを確認するだけです。リモート マシンのサウンド カードのドライバがロードされ、正しく動作していますか。/proc/asound/cardsカードがリストされていることを確認してください。

于 2012-02-08T09:27:54.000 に答える
1

確認のために...リモートマシンにアプリケーションがインストールされていて、リモートマシンが別の方法で動作していませんか?コンソールからログインしてアプリケーションを実行する場合に機能するように、リモート マシンをセットアップする必要があります。

この場合は、環境変数が微妙に異なる場合があるため、環境変数を確認してください。

于 2012-02-08T09:36:24.690 に答える
0

理由が見つかりました。以下/dev/audioのデバイス/dev/snd/はすべて、リモート コンピューターにログインしているユーザーが所有しており、他の誰も読み取り/書き込み可能ではありません。テストのために私が適用chmod 777 /dev/audio /dev/snd/*したところ、機能し始めました。

リモートコンピューターのオーディオデバイスにもう少し寛大なアクセス許可を適用する方法を知っている人はいますか (再起動後も持続します)。

于 2012-02-08T16:00:17.480 に答える