IVSBroadcastMixer

Objective-C

@interface IVSBroadcastMixer : NSObject

Swift

class IVSBroadcastMixer : NSObject

The mixer determines the final on-screen and in-ear state for visual elements and audio.

An element is represented by an IVSMixerSlotConfiguration that has a number of associated parameters to place an image stream spatially and set the gain of an audio stream from a device.

Each slot can be bound to a single image device (such as a camera) and a single audio device (such as a microphone).

  • Transition a slot to a new state.

    Multiple concurrent transitions are not supported on the same slot. If you initiate a second transition before the first is finished, the transition will start over from the original slot state and transition to the new state as if the first transition had never been made.

    Declaration

    Objective-C

    - (void)transitionSlotWithName:(nonnull NSString *)slotName
                           toState:(nonnull IVSMixerSlotConfiguration *)nextState
                          duration:(NSTimeInterval)duration
                        onComplete:(nullable void (^)(void))onComplete;

    Swift

    func transitionSlot(withName slotName: String, toState nextState: IVSMixerSlotConfiguration, duration: TimeInterval, onComplete: (() -> Void)? = nil)

    Parameters

    slotName

    The target slot’s name

    nextState

    The new state for the slot

    duration

    The amount of time to animate the transition for

    onComplete

    An optional callback that will be called when the animation has completed

  • Add a new slot to the mixer configuration

    Declaration

    Objective-C

    - (BOOL)addSlot:(nonnull IVSMixerSlotConfiguration *)slot;

    Swift

    func addSlot(_ slot: IVSMixerSlotConfiguration) -> Bool

    Parameters

    slot

    The slot configuration to be added

    Return Value

    Success

  • Remove a slot from the mixer configuration

    Declaration

    Objective-C

    - (BOOL)removeSlotWithName:(nonnull NSString *)slotName;

    Swift

    func removeSlot(withName slotName: String) -> Bool

    Parameters

    slotName

    The slot to be removed

    Return Value

    Success