独自のALSAアプリ

独自のALSAアプリ

2番目の質問は、ウェブサイトのLinuxオーディオについてです。これ以前のかなりの紹介情報が生成されました。

私はALSAそれをインストールしましたPulseAudio

  • PulseAudioをインストールする前に、グラフィックサウンドパネルでサウンドカードが検出されませんでした。これで、「アプリケーション」の下に表示されますALSA plug-in(firefox)。サウンドカードを検出してALSA経由で再生するには、なぜPulseAudioが必要なのですか?

  • alsamixer機能しない - コンソールをミュートしても効果はありません。また、同時に1つのアプリケーションしか再生できません。 2番目のアプリケーションを実行すると、レポートが表示されますdevice busy

だから私のソフトウェアブレンドは動作しません。どうすれば解決できますか?アプリケーションからハードウェアへの信号経路を追跡する方法は?

オーディオはUSB経由で送信されます。 sais alsamixerno options for ths device私が修正しているコントロールはマザーボードサウンドカードのコントロールに適しています。

ベストアンサー1

私は少なくともあなたの質問の1つに答えることができます。 alsaとpulseaudioはお互いを置き換えず、ソフトウェアスタック内の異なる場所を占めていることに注意してください。 Pulseaudio は alsa に追加され、alsa ユーザーゾーンツールを置き換えます。それはalsaを置き換えません。

「アプリケーション」の下にALSAプラグイン(firefox)がリストされています。サウンドカードを検出してALSAで再生するにはPulseAudioが必要なのはなぜですか?

正反対。 alsaのpulseaudioプラグインはalsa用なので、pulseaudioまたは少なくともWRT firefoxを介して再生できます。しかし、ALSAは、前述のソフトウェアスタック階層化と一致する実際のハードウェアシステム(続きを読む)なので、最終的にはALSAに戻る必要があると思います。

通常、アプリケーションを使用するにはPulse Audioをサポートする必要があります。これは、独自のプラグインがあることを意味します。たとえば、mpg123pulseaudioを実行しているシステムで使用されているが「mpg123pulseaudioプラグイン」がインストールされていない場合、mpg123は出力デバイスにアクセスできず失敗する可能性があります。 Pulseaudioはアプリケーションのサウンドストリームを「傍受」することはできません。アプリケーションは意図的に関係を開始する必要があります。

ALSAは、アプリケーションで一般的に使用される低レベルのカーネルシステム(一部のユーザー領域部分を含む)です。〜しない限りpulseaudio用のプラグインなど、優先順位の高いプラグインをインストールします。この場合、パルスオーディオにストリーミングされます。 Pulseaudioは、より高いレベルのユーザーレベルシステムです(つまり、いいえカーネルサブシステムがあり、ハードウェアに直接アクセスできない)ストリームでさまざまな操作を実行できますが、最終的にローカルサウンドカードを使用している場合は、それを低レベルのハードウェアシステムに渡す必要があります。私の考えでは(Linuxでは)これはALSA、pulseaudioがロックされ続けていることを意味するので、他のユーザー領域(「alsamixer」など)がそれを使用できない理由です。 [実際、これがpulseaudioを使用する主な理由の1つです。それ以外の場合、サウンドシステムは一度に1つのアプリケーションでのみ使用できます。 Pulseaudioはそのようなアプリケーションの1つですが、他のアプリケーションと一緒に再利用されます。 ]

alsa firefoxプラグインの問題は、flashとpulseaudioが互換性がないことです(フラッシュプラグインがないか、機能するプラグインがありません)。したがって、フラッシュはパルスオーディオを探さずにalsaを探します。このプラグインの目的は、alsaがハードウェアではなくpulseaudioにサウンドを転送することです。 pulseaudio がサウンドを alsa に戻すとき、 alsa-firefox プラグインは関連していないので、ループはありません。 alsaはハードウェアで動作します。簡単に言うと:

pulseaudio -> pulseaudio -> alsaカーネルスペースサブシステム - >サウンドカードドライバ用フラッシュ/firefox alsaユーザーエリアプラグイン

最初のステップは元のソースオーディオアプリケーションです。フラッシュパルスオーディオプラグイン以上の機能がある理由はわかりませんが、これは歴史的な問題です。

だから私のソフトウェアブレンドは動作しません。どうすれば解決できますか?

ユーザーレベルのalsaミキサーの代わりにパルスオーディオミキサーを使用してください。

おすすめ記事