web-dev-qa-db-ja.com

すべてのALSAデバイスを一覧表示します

私は自分のシステムでPulseAudioを使用しており、PulseAudio wikiに従って モニターデバイス を追加するための指示に従いました。モニターデバイス自体は、Audacityなどのアプリで正しく機能し、登録/機能しますが、コマンドラインツールを使用してデバイスを表示させることができません。 aplay -LはAudacityとほぼ同じリストを返しますが、便利なことにモニターデバイスがありません。

私の最終目標は、Javaアプリで出力を解析し、最終的にそれをFFmpegに渡すことです。Javaオーディオを介してデバイスが存在することを知ることができます2つの一般的な「キャプチャソースポート」としてのAPIが表示されますが、デバイスの名前は提供されません。目標は、ユーザーがある程度使いやすい方法で選択できるようにすることです。

コマンドラインアプリまたはJava API /ライブラリ)を介してモニターデバイスを表示する方法はありますか?

前もって感謝します!

2
timothyb89

使用 pacmd list-sourcesまたはpactl listPulseAudioデバイスを表示するコマンド。名前のみを表示するには、出力をgrepできます。これは PulseAudio FAQ の例です。

$ LANG=C pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f2

「.monitor」にgrepを追加すると、モニターデバイスのみを取得できます。

2
Nikita Krupenko

つまり、問題はpulseaudioレベルではなく、alsaレベルで発生しているように見えますか?アルサデバイスを見たい場合は試してみてください。

aplay -l

(しかし、あなたがすでに言及したaplay -Lも同様です)。

pulseaudioはalsaの上にあります。したがって、pactlを見ると、ソフトウェアの別のレイヤーが導入されます...ここでtroubleshooters.com/linux/sound/sound_troubleshooting.htmを参照してください。アルサがサウンドデバイスを見ることができない場合、確かにpulseaudioは見えませんか?

0