channelCapabilities
Expresses valid combinations of input and output channels.
Declaration
var channelCapabilities: [NSNumber]? { get }Discussion
Array elements are NSNumber values containing integers.
The array index alternates between input and output counts, in ascending order of input/output channels—for example: [0] = first input count, [1] = first output count, [2] = second input count, [3] = second output count, etc.
Positive array values specify the number of input and/or output channels supported.
Negative array values have particular meanings. An input/output value pair of (-1, -1) (i.e. [0] = -1, [1] = -1) indicates that any number of channels are supported, as long as they are the same number for both input and output. An input/output value pair combination of -1 and -2 (e.g. [0] = -1, [1] = -2) also indicates that any number of channels are supported, but without the requirement that the input and output counts are the same. A negative value less than -2 (e.g. [0] = -16) specifies a total number of channels across every bus in that scope, regardless of how many channels are set on any particular bus.
An array value of 0 (e.g. [0] = 0) specifies that the input/output channel is not applicable (though typically only used for input channels).
The table below shows a sample selection of valid input and output channel combinations:
Array Index | Integer Value | Meaning |
|---|---|---|
[0] [Image] [1] | -1 [Image] -1 | First input/output count. [Image] Any number of input and output channels, requiring that the numbers match. This is the default case. |
[2] [Image] [3] | -1 [Image] -2 | Second input/output count. [Image] Any number of input and output channels, without requiring that the numbers match. |
[4] [Image] [5] | 2 [Image] 6 | Third input/output count. [Image] Exactly two input channels, exactly six output channels. |
[6] [Image] [7] | -1 [Image] 2 | Fourth input/output count. [Image] Any number of input channels, exactly two output channels. |
[8] [Image] [9] | 0 [Image] 1 | Fifth input/output count. [Image] No input channels, exactly one output channel. |
[10] [Image] [11] | -4 [Image] -8 | Sixth input/output count. [Image] Up to four input channels, up to eight output channels. |
This version 3 property is bridged to the version 2 kAudioUnitProperty_SupportedNumChannels API.