Перейти к основному содержимому

AudioSource Binders

Биндеры для всех свойств компонента AudioSource.


Обзор​

Каждое свойство AudioSource имеет отдельный биндер, Switcher-вариант и MonoBinder-обёртки (обычные, Enum, EnumGroup).

БиндерСвойствоТип данных
AudioSourceVolumeBindervolumefloat
AudioSourcePitchBinderpitchfloat
AudioSourceClipBinderclipAudioClip
AudioSourceLoopBinderloopbool
AudioSourceMuteBindermutebool
AudioSourcePanStereoBinderpanStereofloat
AudioSourceSpatialBlendBinderspatialBlendfloat
AudioSourceSpreadBinderspreadfloat
AudioSourceDopplerLevelBinderdopplerLevelfloat
AudioSourcePriorityBinderpriorityint
AudioSourceTimeBindertimefloat
AudioSourceTimeSamplesBindertimeSamplesint
AudioSourceReverbZoneMixBinderreverbZoneMixfloat
AudioSourceMinMaxDistanceBinderminDistance / maxDistanceVector2
AudioSourceBypassEffectsBinderbypassEffectsbool
AudioSourceBypassListenerEffectsBinderbypassListenerEffectsbool
AudioSourceBypassReverbZonesBinderbypassReverbZonesbool
AudioSourceOutputAudioMixerGroupBinderoutputAudioMixerGroupAudioMixerGroup

Все биндеры: OneWay, OneTime, OneWayToSource (TwoWay запрещён).


Float-биндеры​

Числовые биндеры (Volume, Pitch, PanStereo и др.) реализуют INumberBinder и принимают int, float, long, double.

Диапазоны, в которые зажимается значение (NaN и бесконечность логируются и заменяются нижней границей):

БиндерДиапазон
Volume, SpatialBlend0..1
PanStereo-1..1
Pitch-3..3
DopplerLevel0..5
ReverbZoneMix0..1.1
Spread0..360
Priority0..256
Time, TimeSamplesвнутри текущего клипа; без клипа запись пропускается
MinMaxDistanceотрицательные поднимаются до 0, перевёрнутая пара меняется местами
[ViewModel]
public partial class AudioViewModel
{
[OneWayBind] private float _volume;
[OneWayBind] private float _pitch;
[OneWayBind] private bool _mute;
}

AudioSourceMinMaxDistanceBinder​

Привязка AudioSource.minDistance / AudioSource.maxDistance через Vector2 (аналогично SliderMinMaxBinder).

AudioSourceDistanceMode​

РежимПоведение
MinОбновляет только minDistance
MaxОбновляет только maxDistance
RangeОбновляет оба значения

AudioSourceClipBinder​

Привязка AudioSource.clip (AudioClip).

[ViewModel]
public partial class MusicPlayerViewModel
{
[OneWayBind] private AudioClip _currentTrack;
}

Switcher-варианты​

Каждый биндер имеет Switcher-вариант (bool → выбор между двумя значениями):

  • AudioSourceVolumeSwitcherBinder — bool → float
  • AudioSourcePitchSwitcherBinder — bool → float
  • AudioSourceClipSwitcherBinder — bool → AudioClip
  • AudioSourceMinMaxDistanceSwitcherBinder — bool → Vector2
  • AudioSourceOutputAudioMixerGroupSwitcherBinder — bool → AudioMixerGroup
  • и т.д.

AudioSourceToSourceMonoBinder​

MonoBinder для OneWayToSource-привязки AudioSource как компонента. Наследует ComponentToSourceMonoBinder<AudioSource>.


См. также​