Using an AudioVideoFlow
Applies to: Skype for Business 2015
The AudioVideoFlow, AudioControl, and AudioChannel classes can be thought of as having the logical relationship shown in the following illustration.
The Audio property on an AudioVideoFlow instance provides access to the AudioControl instance, and the GetChannels() method on the AudioControl instance returns a read-only IDictionary that can be used to find an AudioChannel instance by its label.
Note
In Microsoft Unified Communications Managed API 5.0, an AudioControl instance must have exactly one AudioChannel instance.
Logical AudioVideoFlow structure
The preceding illustration also shows several of the properties on the three classes. Each property on an outer class affects not only its own class, but can affect an inner class. For example, the EncryptionPolicy indicates whether channel encryption is not supported, supported, or required, and therefore affects the value of the Encrypted property on the AudioChannel instance. The Encrypted value can be true if channel encryption is supported or required, but must be false if channel encryption is not supported.
Because the AudioVideoFlow class has no public constructors, it is not possible to directly create an instance of this class. Instead, an application must use the AudioVideoFlow instance created when an AudioVideoCall instance is created (and accessible through the Flow property on the AudioVideoCall instance). If an application intends to change the settings on an AudioVideoFlow instance, it must create an AudioVideoFlowTemplate instance to do so. For more information, see Using an AudioVideoFlowTemplate.