USB の管理

USB オーディオの概要

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

どちらのドライバも、USB オーディオクラス 1.0 仕様に準拠しています。

Solaris では、再生専用または録音専用の外部 USB オーディオデバイスをサポートします。オンボードの USB オーディオデバイスはサポートされません。サポートされるオーディオデータ形式については、usb_ac のマニュアルページを参照してください。

主オーディオデバイスは、/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

AUDIODEV 環境変数を設定するか、audioplay コマンドおよび audiorecord コマンドで -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) のマニュアルページを参照してください。

ホットプラグ可能な USB オーディオデバイスを追加するには

次の手順で、ホットプラグ可能な USB オーディオデバイスを追加します。

  1. USB スピーカとマイクを差し込みます。

    主オーディオデバイス /dev/audio は通常、オンボードのオーディオを指します。USB オーディオデバイスを接続した後、/dev/audio /dev/sound ディレクトリで認識される USB オーディオデバイスを指します。

  2. 作成されたオーディオデバイスファイルを確認します。


    % ls /dev/sound
    0     0ctl  1     1ctl  2     2ctl
  3. 左右の USB スピーカをテストします。


    % cd /usr/demo/SOUND/sounds
    % audioplay -d /dev/sound/1 -b 100 spacemusic.au
    % audioplay -d /dev/sound/1 -b -100 spacemusic.au
    
  4. USB マイクをテストします。


    % cd $HOME/au
    % audiorecord -d /dev/sound/2 -p mic -t 30 test.au