Skypeを使用するたびに、サウンド設定を行う必要があります。そこで、オーディオ入力を「ウェブカメラ」に切り替え、「ミュート」ボタンのチェックを外します。それは非常に迷惑です。常に同じ構成を維持する方法はありますか?
Skypeを使用するたびに、サウンド設定を行う必要があります。そこで、オーディオ入力を「ウェブカメラ」に切り替え、「ミュート」ボタンのチェックを外します。それは非常に迷惑です。常に同じ構成を維持する方法はありますか?
回答:
pulseaudioを実行するとき、すべての設定は.pulse
、HOMEの隠しディレクトリにカスタム構成ファイルを置くことで定義できます。これらのファイルがまだ存在しない場合は、標準ファイルを/etc/pulse/
テンプレートとして使用できます。ほとんどのエントリには、これらのファイルに詳細な説明があります。
~/.pulse/default.pa
モジュールをロードしてデフォルトを定義する~/.pulse/client.conf
サウンドサーバーのクライアントを構成する~/.pulse/daemon.conf
サンプルレートとバッファを定義するWebカメラをデフォルトのソースにするには、ターミナルで次のコマンドによって生成されたリストを調べて、このソースの名前と番号を知る必要があります。
pacmd list-sources
次に、次の行を編集します~/.pulse/default.pa
。
set-default-source [name]
[name]
目的のソースの名前またはソース番号に置き換えます。次に、次の行を追加して、ソースがミュート解除されていることを確認する必要があります。
set-source-mute [name]|[#n]> 0
ソースの名前またはインデックスを指定します。PulseAudio Wikiで参照されている他のさまざまな設定を追加できます(現在はmanページにあります:)man pulse-cli-syntax
。
構成ファイルを変更する前に、最初にコマンドラインインターフェイスを介してすべてのコマンドをテストすることをお勧めします。これは 端末で開くことができますpacmd
/etc/pulse/default.pa
ます。このファイルを使用するか、~/.pulse
編集する前にコピーしてください。
pacmd list-sources
ます。つまり、私のデバイスにとってはそうでしたset-default-source alsa_input.usb-0d8c_USB_PnP_Sound_Device-00-Device.analog-mon
。
私は、PulseaudioがUSBデバイスをデフォルトとして設定しないという問題に同意します。これは、パルスの開始時にはUSBデバイスが存在しないためです。
スヨンは、これに対する私の解決策は、システムにフックすることですし、USBデバイスが接続されたときに通知を... UDEV!
ところで、これらの指示は少しファンキーで、コマンドラインで何かを実行し、udevファイルを更新し、スクリプトを実行可能にするrootユーザーになることに慣れていると思います。
最初のステップは、ウェブカメラを接続し、入力して魔法のベンダーと製品番号を見つけることです。
lsusb
私はMicrosoft Lifecamを使用していますが、
Bus 001 Device 013: ID 045e:072d Microsoft Corp.
重要な部分は045e:072dです
次に、Webカメラが接続されている間に、pulseaudioデバイス名を見つけます。タイプ
pacmd list-sources
繰り返しにname:
なりますが、Microsoft Lifecamについて何かが始まる行を探しています...ここにあります
name: <alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono>
私のpulseaudioデバイス名は alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
次に、vendor = 045eおよびproduct = 072dのUSBデバイスが挿入されたときに起動される新しいudevルールを作成しました。ルールを作成するには、/etc/udev/rules.d/
SOMETHINGという名前の新しいファイルを作成します.rules
(私はmy fileと呼びます/etc/udev/rules.d/95-webcam-mic.rules
)。
この行をファイルに入れます
SUBSYSTEMS=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="072d", ACTION=="add", GROUP="audio", RUN+="/usr/local/bin/webcam-mic"
ATTR {idVendor}およびATTR {idProduct}をWebカメラの値に置き換えてください。
このルールが行うことは、入力用のusbデバイスを設定するスクリプトを実行することですRUN+="/usr/local/bin/webcam-mic"
。
概要時間。ウェブカメラを接続するたびにコマンドを実行したい
pacmd set-default-source alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono
ただし、コマンドは私(デスクトップを実行しているユーザー)として実行する必要がありますが、udevはrootユーザーとして実行されます。
したがって、2つのオプションがあります。
早くて汚い。udevルールを実行させてください。su james -c pacmd set-default-source...
これはすっごく間違っています。コマンドの入力を終えることさえできません。ウェブカメラを変更したらどうなりますか?これを別のユーザーにインストールするとどうなりますか?
少しきれい。pulseaudioデバイス名とユーザー名が含まれるデフォルトファイルを読み取るスクリプトを実行します。ファイルが必要な場合は、GitHubにあります。最初にスクリプト /usr/local/bin/webcam-mic
。デフォルトファイル/etc/default/webcam-mic
では、要点のコメントに従って、2つのシェル変数を定義するだけで済みます。スクリプトを入れ/usr/local/bin/
て実行可能にします。次に、デフォルトファイルを保存し/etc/defaults/
て編集し、以前のユーザー名とpulseaudioデバイスを使用します。
幸運を!
Takkatによる解決策は私にとってはうまくいきませんでした。ここに問題がまだある人のための私の解決策があります。
Takkatのソリューションには2つの問題がありました。まず、起動後、マイクへの切り替えが行われるまでに遅延が必要であることに気付きました(以下のソリューションでは「sleep」コマンドを使用しています)。また、コマンド「set-default-source」はUSBマイクをオンにするために機能していましたが、どういうわけかSkypeはこれを認識せず、内部マイクを使用し続けました。
これが機能するためには、まずpavucontrolをインストールすると便利です。pavucontrolで[構成]タブを開き、以下のコマンドで何が起こるかを観察して、意図したとおりに機能していることを確認します。
次に、ターミナルから次を入力します。
pacmd
そこから、次を入力します。
list-cards
出力で、必要なUSBオーディオのインデックス番号を見つけます(私の場合、これは「1」でした)。次に、デフォルトカードとUSBカードの両方の「プロファイル」の下にリストされている行を見てください。これらは、pavucontrolにリストされているものと同じである必要があり、「ouput:input + output」、「off」、または「input:analog-mono」などのようになります。なお、pacmdコマンドラインでは、コマンドset-card-profile <index number> <profile name>
を変更する必要がありますpavucontrolの設定。ここでやりたいのは、内部オーディオをデュプレックスから出力のみに、USBを入力に切り替えることです。
適切なプロファイルが見つかったら、起動直後にいくつかの設定を変更する起動コマンドを作成します。起動コマンドを作成するには、ダッシュを開いて「起動アプリケーション」を検索し、「追加」をクリックして、選択した名前と適切なコマンドを以下に入力します。
試行錯誤の後、私の起動コマンドは次のようになりました。
bash -c "sleep 30 && pacmd set-card-profile 0 output:analog-stereo && pacmd set-card-profile 1 off && pacmd set-card-profile 1 input:analog-mono"
説明:コマンド 'sleep'が必要であることがわかりました。これは、コマンドが一時停止後に実行され、30秒に設定されていることを意味します(これよりも少なくなると思います)。次のコマンド(「&&」の後)は、デフォルト(内部)カードプロファイルを取得して、入力+出力(デフォルトは二重)から出力のみに切り替えます。次のコマンドは、USBサウンドカード(私の場合、番号は「1」)をオフにするためのものです。最後のコマンドは、この同じカードが「input:analog-mono」モードで再びオンになることです。
動作するものを見つけるために、これらの設定をいじる必要があるかもしれません。
起動すると、30秒後にUSBマイクを使用できるようになり、Skypeは正しいマイクを使用します。