Solaris のシステム管理 (デバイスとファイルシステム)

USB オーディオデバイスの使用 (作業マップ)

作業 

説明 

参照先 

USB オーディオデバイスを追加する 

USB マイクおよびスピーカを追加する 

「USB オーディオデバイスを追加する方法」

システムの主オーディオデバイスを特定する 

システムの主オーディオデバイスを特定する 

「システムの主オーディオデバイスを識別する方法」

主 USB オーディオデバイスを変更する 

USB オーディオデバイスを取り外したり変更したりする場合、特定の 1 つのオーディオデバイスを主オーディオデバイスにすることがある 

「主 USB オーディオデバイスを変更する方法」

使用していない USB デバイスリンクを削除する 

システムの電源がオフのときに USB オーディオデバイスを取り外すと、 /dev/audio デバイスが、存在しない /dev/sound/* デバイスを指したままになることがある

「使用されていない USB デバイスのリンクを削除する方法」

USB オーディオに関する問題の障害追跡 

USB スピーカからサウンドが出力されない場合は、この節を参照する 

「USB オーディオの問題を解決する」

USB オーディオデバイスの使用

このSolaris リリースでは、2 つの連携するドライバ、usb_ac および usb_as の実装によって、USB オーディオサポートを提供しています。オーディオコントロールドライバである usb_ac は USBA (Solaris USB Architecture) 準拠のクライアントドライバで、ユーザーアプリケーションのインタフェースを制御します。オーディオストリーミングドライバである usb_as は、再生中および録音中にオーディオデータメッセージを処理します。また、サンプル周波数と精度を設定し、usb_ac ドライバからの要求を符号化します。どちらのドライバも、USB オーディオクラス 1.0 仕様に準拠しています。

一部のオーディオデバイスでは、ソフトウェアが制御している音量を設定できます。この機能を管理するために、STREAMS モジュールの usb_ah が HID ドライバの先頭に置かれます。

Solaris では、再生専用、録音専用、録音および再生用の USB オーディオデバイスをサポートします。USB オーディオデバイスのホットプラグがサポートされます。

主オーディオデバイスは、/dev/audio です。次のコマンドを使用して、/dev/audio が USB オーディオを指しているかを確認できます。


% mixerctl
Device /dev/audioctl:
  Name    = USB Audio
  Version = 1.0
  Config  = external

Audio mixer for /dev/audioctl is enabled

USB オーディオデバイスを接続した後、audioplay コマンドおよび audiorecord コマンドを使用し、 /dev/sound/N デバイスリンクを介してデバイスにアクセスします。

/dev/audio および /dev/sound/N デバイスは、スピーカ、マイク、またはコンボデバイスを参照できます。不正なデバイスタイプを参照すると、そのコマンドは失敗します。たとえば、マイクに対して audioplay を使用しようとすると、そのコマンドは失敗します。

ほとんどの Sun オーディオアプリケーションでは、特定のデフォルトオーディオデバイスを選択できます。たとえば、audioplayaudiorecord の場合には、AUDIODEV シェル変数を設定するか、-d オプションを指定します。ただし、/dev/audio をオーディオファイルとしてハードコードしているサードパーティ製のアプリケーションでは AUDIODEV は動作しません。

USB オーディオデバイスを差し込むと、/dev/audio が使用中でない限り、自動的にそれが主オーディオデバイス /dev/audio になります。オンボードのオーディオから USB オーディオへ、および USB オーディオからオンボードのオーディオへ /dev/audio を変更する方法については、「主 USB オーディオデバイスを変更する方法」 および usb_ac(7D) のマニュアルページを参照してください。

複数の USB オーディオデバイスのホットプラグ

USB オーディオデバイスがシステムに差し込まれると、それが主オーディオデバイス /dev/audio になります。そのデバイスは、システムをリブートした後でも、主オーディオデバイスのままです。USB オーディオデバイスが追加で差し込まれた場合、最後に差し込まれたデバイスが主オーディオデバイスになります。

USB オーディオデバイスに関する問題の障害追跡については、usb_ac(7D) のマニュアルページを参照してください。

ProcedureUSB オーディオデバイスを追加する方法

USB オーディオデバイスを追加するには、次の手順を実行します。

手順
  1. USB スピーカを差し込みます。

    主オーディオデバイス /dev/audio は、USB スピーカを指します。


    % ls -l /dev/audio
    lrwxrwxrwx   1 root     root    10 Feb 13 08:46 /dev/audio -> usb/audio0
  2. (省略可能) スピーカを取り外します。その後、再度差し込みます。

    スピーカを取り外すと、/dev/audio デバイスがオンボードのオーディオに戻ります。


    % ls -l /dev/audio
    lrwxrwxrwx   1 root     root   7 Feb 13 08:47 /dev/audio -> sound/0
  3. USB マイクを追加します。


    % ls -l /dev/audio
    lrwxrwxrwx   1 root     root    10 Feb 13 08:54 /dev/audio -> usb/audio1

Procedureシステムの主オーディオデバイスを識別する方法

この手順は、すでに USB オーディオデバイスが接続されていることを前提としています。

手順

    システムの新しいオーディオリンクを調べます。

    たとえば、次のようになります。


    % ls -lt /dev/audio*
    lrwxrwxrwx   1 root     root      7 Jul 23 15:46 /dev/audio -> usb/audio0
    lrwxrwxrwx   1 root     root     10 Jul 23 15:46 /dev/audioctl -> 
    usb/audioctl0/
    % ls -lt /dev/sound/*
    lrwxrwxrwx   1 root     root     74 Jul 23 15:46 /dev/sound/1 -> 
    ../../devices/pci@1f,4000/usb@5/hub@1/device@3/sound-control@0:sound,a...
    lrwxrwxrwx   1 root     root     77 Jul 23 15:46 /dev/sound/1ctl -> 
    ../../devices/pci@1f,4000/usb@5/hub@1/device@3/sound-control@0:sound,a...
    lrwxrwxrwx   1 root     other    66 Jul 23 14:21 /dev/sound/0 -> 
    ../../devices/pci@1f,4000/ebus@1/SUNW,CS4231@14,200000:sound,audio
    lrwxrwxrwx   1 root     other    69 Jul 23 14:21 /dev/sound/0ctl -> 
    ../../devices/pci@1f,4000/ebus@1/SUNW,CS4231@14,200000:sound,audioctl
    % 

    主オーディオデバイス /dev/audio が、新しく差し込まれた USB オーディオデバイスの /dev/usb/audio0 を指していることがわかります。

    prtconf コマンドを使用して USB デバイス情報を参照して、システム上の USB オーディオデバイスを調べることもできます。


    % prtconf
    .
    .
    .
    usb, instance #0
       hub, instance #0
            mouse, instance #0
            keyboard, instance #1
            device, instance #0
                sound-control, instance #0
                sound, instance #0
                input, instance #0
    .
    .
    .

主 USB オーディオデバイスを変更する方法

USB オーディオデバイスに関する問題の障害追跡

この節では、USB オーディオデバイス問題の障害追跡の方法を説明します。

USB オーディオの問題を解決する

ドライバを適用し、音量も上げているのに、USB スピーカから音が出ないことがあります。デバイスをホットプラグしてもこの動作が変化しないことがあります。

この問題を解決するには、USB スピーカの電源を再投入します。

オーディオデバイスの所有権に関する注意事項

オーディオデバイスを操作するときは、オーディオデバイスの所有権に関する、次に挙げる点に注意してください。