Instance Property


Expresses valid combinations of input and output channels.


iOS, Mac Catalyst, tvOS
@property(readonly, copy, nonatomic) NSArray<NSNumber *> *channelCapabilities;
@property(readonly, copy, atomic) NSArray<NSNumber *> *channelCapabilities;


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).

Table 1 shows a sample selection of valid input and output channel combinations:

Table 1

Example Input/Output Channels

Array Index

Integer Value






First input/output count.

Any number of input and output channels, requiring that the numbers match. This is the default case.





Second input/output count.

Any number of input and output channels, without requiring that the numbers match.





Third input/output count.

Exactly two input channels, exactly six output channels.





Fourth input/output count.

Any number of input channels, exactly two output channels.





Fifth input/output count.

No input channels, exactly one output channel.





Sixth input/output count.

Up to four input channels, up to eight output channels.

This version 3 property is bridged to the version 2 kAudioUnitProperty_SupportedNumChannels API.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software