在 Oracle® Solaris 11.2 中管理设备

退出打印视图

更新时间: 2014 年 7 月
 
 

使用 USB 音频设备

对于 Oracle Solaris 中的音频设备,仅支持 USB 2.0、1.1 和 1.0,而不支持 USB 3.0。此外,还支持以下类型的设备:仅播放、仅录制或播放和录制。

Oracle Solaris USB 音频支持通过一对驱动程序实现:

  • 音频控制驱动程序 (usb_ac)-提供与用户应用程序的控制接口。有关更多信息,请参见 usb_ac(7D) 手册页。

  • 音频流驱动程序 (usb_as)-可在播放和录制期间处理音频数据消息。该驱动程序将设置样例频率和精度,并对来自 usb_ac 驱动程序的请求进行编码。有关更多信息,请参见 usb_as(7D) 手册页。

某些音频设备可以在软件控制下设置音量。为了管理此功能,可以将 STREAMS 模块 usb_ah 推送至人机接口设备 (Human Interface Device, HID) 驱动程序的顶部。有关更多信息,请参见 usb_ah(7M) 手册页。

主音频设备为 /dev/audio。要验证 /dev/audio 是否指向 USB 音频,请使用 mixerctl 命令。例如:

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

Audio mixer for /dev/audioctl is enabled

可以对 /dev/sound/N 设备链接使用 audioplayaudiorecord 命令访问已连接的 USB 音频设备。

请注意,/dev/audio/dev/sound/N 设备可以引用扬声器、麦克风或组合设备。如果引用不正确的设备类型,则该命令将失败。例如,如果尝试将 audioplay 命令与麦克风一同使用,该命令将失败。

对于大多数 Oracle Solaris 音频应用程序(如 audioplayaudiorecord),通过设置 AUDIODEV shell 变量或为这些命令指定 –d 选项,可以选择特定的缺省音频设备。但是,设置 AUDIODEV 不适用于将 /dev/audio 硬编码为音频文件的第三方应用程序。

插入 USB 音频设备时,如果 /dev/audio 不在使用中,则该设备将自动成为主音频设备 /dev/audio。即使在重新引导系统后,该设备也仍为主音频设备。如果插入其他 USB 音频设备,则最后一个设备将成为主音频设备。

有关在板载音频与 USB 之间切换 /dev/audio 的说明,请参阅恢复为板载音频设备时遇到的问题usb_ac(7D)