870920 Menu

AudioDeviceSelectorComponent

AudioDeviceSelectorComponent

本类实例化后其实是一个与音频设备有关的高级UI组件(见上图。图片来源:AudioDeviceSelectorComponent类的实例在MAC OSX平台下的默认外观),用于关联并设置AudioDeviceManager(音频驱动和MIDI端口),继承自Component、ChangeListener、ComboBox::Listener等类。其构造函数有9个参数:

AudioDeviceSelectorComponent (AudioDeviceManager& deviceManager,
const int minAudioInputChannels,
const int maxAudioInputChannels,
const int minAudioOutputChannels,
const int maxAudioOutputChannels,
const bool showMidiInputOptions,
const bool showMidiOutputSelector,
const bool showChannelsAsStereoPairs,
const bool hideAdvancedOptionsWithButton)

构造参数详解:
 deviceManager 此组件所控制的AudioDeviceManager对象
 minAudioInputChannels 程序所需的音频输入通道的最小数量(输入通道数下限)
 maxAudioInputChannels 程序所需的音频输入通道的最大数量(输入通道数上限)
 minAudioOutputChannels 程序所需的音频输出通道的最小数量(输出通道数下限)
 maxAudioOutputChannels 程序所需的音频输出通道的最大数量(输出通道数上限)
 showMidiInputOptions 显示与MIDI输入有关的选项
 showMidiOutputSelector 显示与MIDI输出有关的选项
 showChannelsAsStereoPairs 如果为true, 则左右声道进行关联
 hideAdvancedOptionsWithButton true则仅显示最少的UI控件,并显示【高级】 按钮

使用技巧:如果程序仅需输出通道,则将输入通道的最大上限设置为0,此时,该组件将不显示任何有关输入通道的选项。同理,如需仅显示输入通道,则将输出通道的最大上限设置为0。

本组件可设置自身大小后直接runModalLoop()模态运行,也可置入对话框中模态显示,并配合XML技术保存音频设备、驱动、采样率、缓冲大小、MIDI进出等相关设置。这样,用户使用软件,通常情况下仅需做一次音频设置即可。示例: