IVSStageAudioManagerUseCasePreset

Objective-C

enum IVSStageAudioManagerUseCasePreset : NSInteger {}

Swift

enum UseCasePreset : Int, @unchecked Sendable

Presets for common Stage use cases that set tested combinations of category, categoryOptions, and mode.

  • This is the default preset that is active if nothing is set on IVSStageAudioManager. This is the recommended preset when using bidirectional communication between multiple participants. iOS may restrict the number of possible input and output devices when this preset is used. When using this mode the system will treat the conversation as a phone call, so call volume will be used instead of media volume. It uses the category playAndRecord. It uses the category options, allowBluetooth, allowBluetoothA2DP, defaultToSpeaker, mixWithOthers. It uses the mode videoChat. Echo cancellation is enabled when using this preset.

    Declaration

    Objective-C

    IVSStageAudioManagerUseCasePresetVideoChat

    Swift

    case videoChat = 0
  • This is the recommended preset when users are only subscribing to remote participants but not publishing. It will improve audio quality compared to the videoChat preset.

    - note: using this preset while a microphone is attached will cause problems with the underlying `AVAudioEngine`.
    Only use this mode if no microphone will be attached.
    
    It uses the category `playback`.
    It uses the category options, `mixWithOthers`.
    It uses the mode `moviePlayback`.
    Echo cancellation is disabled when using this preset.
    

    Declaration

    Objective-C

    IVSStageAudioManagerUseCasePresetSubscribeOnly

    Swift

    case subscribeOnly = 1
  • This is the recommended preset when using bidirectional communication between multiple participants but it is important that audio quality remain as high as possible. This preset is only recommended when it is known that users will be using hardware that prevents echo, such as the combination of a headset and an external studio mic.

    This mode can be used for a scenario where a "main broadcaster" is bringing other participants
    onto their broadcast as a guest. If the "main broadcaster" is using external audio equipment, they can
    use `.studio` while the guest that is joining uses `.videoChat`.
    
    It uses the category `playAndRecord`.
    It uses the category options, `allowBluetooth`, `allowBluetoothA2DP`, `defaultToSpeaker`, `mixWithOthers`.
    It uses the mode `default`.
    Echo cancellation is disabled when using this preset.
    

    Declaration

    Objective-C

    IVSStageAudioManagerUseCasePresetStudio

    Swift

    case studio = 2