ヘッドホンが接続されていない場合、

ヘッドホンが接続されていない場合、

Linuxシステムでは、オーディオデバイス、特にコンボジャックを備えた一般的なヘッドフォンの構成に歴史的な問題(5年以上)がありました。多くの人が好むLinuxシステムをビデオチャットに使用したいので、さまざまなフォーラムには未解決の苦しい問題の記録があります。

外部マイク(コンボジャック付きヘッドフォン)用のドライバが現在利用できない(または開発されていない(?))ことがわかっています。

したがって、ユーザーは内蔵マイクを入力として、ヘッドフォンを出力として使用できる必要があります。

このルートに沿って、私はウサギの洞窟(5-6年の質問を掘り下げて)に陥り、成功しないまま多くのことを試しました(私は通常のコンボジャックヘッドセットとubuntu 16.04コンピュータを実行しているHPラップトップを使用しています)。

多くの人がこの問題をさまざまな方法で報告しました。これは一般的な状況ですが..

ヘッドホンが接続されていない場合、

内蔵マイクとスピーカーはうまく機能します。

PulseAudio は以下を示しています。 ここに画像の説明を入力してください。

pacmd list-cards示す:

    ports:
    analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: unknown)
        properties:
            device.icon_name = "audio-input-microphone"
    analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: no)
        properties:
            device.icon_name = "audio-input-microphone"
    analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
        properties:
            device.icon_name = "audio-speakers"
    analog-output-headphones: Headphones (priority 9000, latency offset 0 usec, available: no)
        properties:
            device.icon_name = "audio-headphones"

ヘッドホンを接続した後、

ヘッドフォンを介した出力は素晴らしい動作します。ただし、外部マイク(ヘッドセットにあります)は機能しませんが(トリムノイズ、ドライバなしなど)、内部マイクも「接続解除」されています。 (だから音は録音されません.)

PulseAudio は以下を示しています。 ここに画像の説明を入力してください。

pacmd list-cards示す:

    ports:
    analog-input-internal-mic: Internal Microphone (priority 8900, latency offset 0 usec, available: no)
        properties:
            device.icon_name = "audio-input-microphone"
    analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: yes)
        properties:
            device.icon_name = "audio-input-microphone"
    analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: no)
        properties:
            device.icon_name = "audio-speakers"
    analog-output-headphones: Headphones (priority 9000, latency offset 0 usec, available: yes)
        properties:
            device.icon_name = "audio-headphones"

ヘッドフォンが出力を提供するのは良いですが、内部マイクに入力を受け取る方法はありますか? (特定の方法で作るavailable: yes

答え1

Linuxには「オーディオデバイスの構成に関する歴史的な問題」はありません。問題は実際にはデバイス(主にラップトップ)メーカーにあります。もちろん、製造元はハードウェアの設定方法を知っているので、ラップトップのハードウェアを処理するように正しく構成できるWindowsドライバをラップトップにプリインストールするだけです。一方、製造業者は詳細を共有し、文書化することなく秘密を維持したくない。結局、彼らはすでにWindowsドライバを提供しています。これが、Linuxでノートブックを使用するために、ノートブックのすべての非標準機能を特定するために苦労し、時間のかかるリバースエンジニアリングを必要とすることが多い理由です。

オーディオに関しては、基本的にすべての最新のデバイスは自己説明的であり、コーデック(アナログオーディオチップ)のグラフィック表現を提供するIntel HDAアーキテクチャを使用します。原則として、BIOSは「ピン構成」、つまり内部スピーカーとマイク、ライン入力、ライン出力、およびヘッドフォンまたはヘッドフォンコンボジャックに接続するコーデックチップのピンを提供する必要があります。

しかし、特に近年では、メーカーはBIOSを正しく設定する必要性を感じていないようです(とにかくWindowsドライバを提供しているため)。したがって、サイクルは次のようになります。新しいノートブックモデルがリリースされ、実際のハードウェアと十分な技術的理解を持つ誰かがBIOSの存在方法と構成が実際にどのようなものであるべきかを把握し、カーネル開発者がここに特異な点を追加します(該当ハードウェアの特異性)。 )特殊処理)ドライバを使用してこれを処理するには、最新のドライバを使用してください。同じハードウェアを使用している他の人は気づかず、満足するでしょう。次のモデルがリリースされ、サイクルが再開されるまで。同時に、不満足な多くのユーザーがインターネット全体に痕跡を残し、すべてのフォーラムに質問をしましたが、しばしば正しい答えが得られませんでした。

はい。外部マイク用のドライバが開発され、利用可能です(実際、残りのコーデックのドライバと同じです)。カーネルソースファイルを調べて「quirk」を検索して、蓄積された/sound/pci/hda/奇妙な動作(非標準動作)を確認できます。

これは、外部ヘッドセットマイクが機能しないノートブックがある場合は、誰か(おそらくあなた?)が技術的な詳細を調べて動作するようにし、ALSAカーネル開発者に報告する必要があることを意味します。

コーデックチップが報告する内部構造に関する情報を表示できます。

cat /proc/asound/card*/codec\#*

これは、手動で従うことができる内部グラフを提供したり、codecgraphそれを視覚化するなどのプログラムを試すことができます(常に良い結果は得られません)。 「ピン複合体」はピンを意味する。持っているマイクを調べて、ラベルが間違っていても外部マイクを表す可能性があるマイクを推測してください。ピンを識別したら、hdajackretaskそれを使用してピンに正しくラベルを付けます(または識別するまで推測)。ドライバが更新されるまで、起動時にデフォルトでラベルを再割り当てする方法があります。

内蔵マイクとヘッドフォンを組み合わせる場合、ALSAには「自動ミュートモード」というミキサー要素があります。これにより、ヘッドフォンジャックが接続または切断されると、ALSAは内部マイク/スピーカーをミュートし、外部マイク/ヘッドフォンをミュート解除します(その逆も同様です)。必要に応じて、内部および外部のマイク/スピーカー/ヘッドフォンをミュートまたはミュート解除するには、このalsamixer機能を無効にします。amixer

Pulseaudioで設定することもできます。pavucontrol[入力と出力]タブで正しいポートを選択して起動します。

内部ポートと外部ポートの両方を使用できない場合、またはそれをデフォルトポートに設定したい場合にも可能です。しかし、そうするのは少し面倒です。ファイルを見て、どのように/usr/share/pulseaudio/alsa-mixer/動作するかを説明するコメントを読んでください。 。 2つの「パス」(内部マイク用の1つと外部ヘッドフォン用の1つ)を組み合わせて、正しいALSAミキサーコンポーネントを使用してサウンドカード用の新しい「構成」を作成する必要があります。正常に動作するには少し時間がかかります。 Pulseaudioはこれに関して非常に直感的ではありません。

いいえ、必要なものを簡単に実行する方法はありません。自分で行う必要があります。

答え2

多くの試みとテストの最後に、この問題はソフトウェアではなくハードウェアで解決できることがわかりました。 「USBヘッドフォン/マイクディストリビューター」を使用して内部マイクを入力に使用し、ヘッドフォンを出力に強制することができました。

出力を「USBオーディオデバイス」に設定する必要があります。 ここに画像の説明を入力してください。 入力はデフォルトの内部スピーカーになります。オンになっていることを確認してください。 ここに画像の説明を入力してください。 スカイプでも動作します。入力と出力をデフォルトに設定し、マイクの自動調整をオフにします。 ここに画像の説明を入力してください。

答え3

これがそのデバイスにも当てはまるかどうかはわかりませんが、outputシステムが自分のWebカメラマイク(デバイス)を使用しないように強制する方法を見つけるのに苦労しており、次のinput解決策が機能しているようです。

  • pavucontrol端末を介したインストール(例:snap install pavucontrolまたはsudo apt install pavucontrol
  • ターミナルまたはランチャーでツールを実行するPulseAudio Volume Control
  • [構成]タブに移動します(ウィンドウを表示するにはウィンドウのサイズを変更する必要があるかもしれません)。
  • マイクを無効にしたマイクロトランジションOff

Webカメラを再接続した後も、この機能は機能しました(まだオフになっていました)。

ここに画像の説明を入力してください。

関連情報