AudioStreamConfig

Configuration class for pcm audio stream playback and data handling.

This class encapsulates all necessary parameters for configuring an audio stream player in the ECS system, including channel layout specifications, audio format details, and data delivery mode selection.

Key features:

  1. Supports both push and pull modes for audio data delivery

  2. Handles standard and Ambisonics channel layouts

  3. Manages audio format specifications including sample rate and channel configuration

  4. Integrates with the audio mix group system for volume control

Usage example:

// STANDARD config
val standardConfig = AudioStreamConfig(
AudioChannelLayoutType.STANDARD,
"mix_group_1",
AudioChannelLayout.OUTPUT_LAYOUT_STEREO,
AmbisonicsType.NONE,
AudioFormat(sampleRate = 48000),
null
)

// AMBISONICS config
val ambisonicConfig = AudioStreamConfig(
AudioChannelLayoutType.AMBISONICS,
"mix_group_2",
AudioChannelLayout.OUTPUT_LAYOUT_INVALID,
AmbisonicsType.ACN_SN3D_1,
AudioFormat(sampleRate = 96000)
)

Constructors

Link copied to clipboard
constructor(channelLayoutType: AudioChannelLayoutType = AudioChannelLayoutType.STANDARD, audioMixerGroupId: String = "", channelLayout: AudioChannelLayout = AudioChannelLayout.OUTPUT_LAYOUT_STEREO, ambisonicType: AmbisonicsType = AmbisonicsType.NONE, audioFormat: AudioFormat = AudioFormat())

Constructs an audio stream configuration for playback control.

Properties

Link copied to clipboard

Ambisonics format specification (when using Ambisonics layout).

Link copied to clipboard

Number of audio channels per frame.

Link copied to clipboard

PCM audio format configuration including sample rate and bit depth.

Link copied to clipboard

Detailed channel arrangement configuration.

Link copied to clipboard

Specifies standard or Ambisonics layout type.

Link copied to clipboard
val mixerGroupID: String?

Identifier for audio mix grouping (volume control purposes).

Link copied to clipboard
@get:JvmName(name = "isValid")
val valid: Boolean

The controller is valid.