AudioStreamPlayer2D
Источник звука с панорамой и затуханием в мире 2D.
AudioStreamPlayer2D учитывает положение относительно слушателя в своём мире и viewport. Явный AudioListener2D задаёт точку слуха; без него используется центр видимой области viewport. Для участия viewport должен принимать звук 2D.
MaxDistance использует единицы мира 2D, обычно пиксели. Панорама зависит также от viewport и его масштаба. Запуск и пространственное обновление обслуживаются физическим шагом. Коллизии сами по себе не создают акустическую окклюзию.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
AudioStreamPlayer2DКонструктор
public AudioStreamPlayer2D();Свойства14
AreaMaskСвойство
public uint AreaMask { get; set; }Определяет, какие слои Area2D влияют на звук для эффектов реверберации и аудиошины. Области можно использовать для перенаправления AudioStreams так, чтобы они воспроизводились на определенной аудиошине. Примером того, как это можно использовать, является создание области «воды», чтобы звуки, воспроизводимые в воде, перенаправлялись через аудиошину, чтобы они звучали так, как будто они воспроизводятся под водой.
AttenuationСвойство
public float Attenuation { get; set; }Громкость звука уменьшается с расстоянием, причем показатель степени равен этому показателю.
AutoplayСвойство
public bool Autoplay { get; set; }Если true, звук воспроизводится при добавлении в дерево сцен.
BusСвойство
public StringName Bus { get; set; }Шина, на которой воспроизводится этот звук.
Примечание: При установке этого свойства имейте в виду, что проверка соответствия данного имени существующей шине не выполняется. Это связано с тем, что макеты аудиошин могут быть загружены после установки этого свойства. Если данное имя не может быть разрешено во время выполнения, оно вернется к "Master".
MaxDistanceСвойство
public float MaxDistance { get; set; }Максимальное расстояние при котором можно услышать аудио.
MaxPolyphonyСвойство
public int MaxPolyphony { get; set; }Максимальное число одновременных голосов этого плеера. Новый Play при превышении лимита вытесняет самый старый голос. Используйте положительное значение; для одного управляемого музыкального потока задайте 1.
PanningStrengthСвойство
public float PanningStrength { get; set; }Масштабирует силу панорамирования для этого узла, умножая базу ProjectSettings.audio/general/2d_panning_strength на этот коэффициент. Более высокие значения будут панорамировать аудио слева направо более драматично, чем более низкие значения.
PitchScaleСвойство
public float PitchScale { get; set; }Высота тона и темп звука как множитель частоты дискретизации аудиосэмпла.
PlaybackTypeСвойство
public AudioServer.PlaybackType PlaybackType { get; set; }Тип воспроизведения потокового проигрывателя. Если установлено значение, отличное от значения по умолчанию, будет принудительно выбран этот тип воспроизведения.
PlayingСвойство
public bool Playing { get; set; }Если true, звук воспроизводится или поставлен в очередь на воспроизведение (см. AudioStreamPlayer2D.Play).
StreamСвойство
public AudioStream Stream { get; set; }Объект AudioStream для воспроизведения.
StreamPausedСвойство
public bool StreamPaused { get; set; }Приостанавливает существующие голоса или возобновляет их. Без голосов предварительная команда не сохраняется. В режиме Stream пауза делает IsPlaying() ложным, сохраняя HasStreamPlayback().
VolumeDbСвойство
public float VolumeDb { get; set; }Базовая громкость до затухания, в децибелах.
VolumeLinearСвойство
public float VolumeLinear { get; set; }Базовый объем до затухания, как линейное значение.
Примечание: Этот член изменяет AudioStreamPlayer2D.VolumeDb для удобства. Возвращаемое значение эквивалентно результату @GlobalScope.db_to_linear для AudioStreamPlayer2D.VolumeDb. Установка этого члена эквивалентна установке AudioStreamPlayer2D.VolumeDb на результат @GlobalScope.linear_to_db для значения.
Методы34
GetAreaMaskuint
public uint GetAreaMask();uintGetAttenuationfloat
public float GetAttenuation();floatGetBusStringName
public StringName GetBus();StringNameGetMaxDistancefloat
public float GetMaxDistance();floatGetMaxPolyphonyint
public int GetMaxPolyphony();intGetPanningStrengthfloat
public float GetPanningStrength();floatGetPitchScalefloat
public float GetPitchScale();floatGetPlaybackPositionfloat
public float GetPlaybackPosition();Возвращает позицию последнего созданного голоса в секундах, а не общее время всех голосов. Между смешиваниями значение может меняться ступенчато. Для одного потока со скоростью 1 оценку можно уточнить временем после последнего mix; паузу, перемотку и задержку вывода учитывайте отдельно.
floatGetPlaybackTypeAudioServer.PlaybackType
public AudioServer.PlaybackType GetPlaybackType();AudioServer.PlaybackTypeGetStreamAudioStream
public AudioStream GetStream();AudioStreamGetStreamPausedbool
public bool GetStreamPaused();boolGetStreamPlaybackAudioStreamPlayback
public AudioStreamPlayback GetStreamPlayback();Возвращает объект AudioStreamPlayback, связанный с этим AudioStreamPlayer2D.
AudioStreamPlaybackGetVolumeDbfloat
public float GetVolumeDb();floatGetVolumeLinearfloat
public float GetVolumeLinear();floatHasStreamPlaybackbool
public bool HasStreamPlayback();Проверяет, хранит ли плеер объекты воспроизведения, включая приостановленные. Это не признак слышимого сигнала: mute, расстояние или пауза могут давать тишину.
boolIsAutoplayEnabledbool
public bool IsAutoplayEnabled();boolIsPlayingbool
public bool IsPlaying();В режиме Stream возвращает true для активно играющего голоса. На паузе false; для наличия сохранённого воспроизведения проверяйте HasStreamPlayback() или StreamPaused. Не отсекайте этим методом команду возобновления.
boolPlayvoid
public void Play(float fromPosition = 0f);Ставит звук в очередь для воспроизведения в следующем физическом кадре, начиная с указанной позиции from_position в секундах.
| Имя | Тип | По умолчанию |
|---|---|---|
fromPosition | float | 0f |
Seekvoid
public void Seek(float toPosition);Перезапускает плеер с заданной позиции в секундах только при активном воспроизведении. Останавливает прежние голоса и запускает новый с позиции. В режиме Stream на паузе или остановке ничего не делает. Для перемотки с сохранением паузы явно сохраните флаг, вызовите Stop(), Play(position) и восстановите StreamPaused.
| Имя | Тип | По умолчанию |
|---|---|---|
toPosition | float | — |
SetAreaMaskvoid
public void SetAreaMask(uint mask);| Имя | Тип | По умолчанию |
|---|---|---|
mask | uint | — |
SetAttenuationvoid
public void SetAttenuation(float curve);| Имя | Тип | По умолчанию |
|---|---|---|
curve | float | — |
SetAutoplayvoid
public void SetAutoplay(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetBusvoid
public void SetBus(StringName bus);| Имя | Тип | По умолчанию |
|---|---|---|
bus | StringName | — |
SetMaxDistancevoid
public void SetMaxDistance(float pixels);| Имя | Тип | По умолчанию |
|---|---|---|
pixels | float | — |
SetMaxPolyphonyvoid
public void SetMaxPolyphony(int maxPolyphony);| Имя | Тип | По умолчанию |
|---|---|---|
maxPolyphony | int | — |
SetPanningStrengthvoid
public void SetPanningStrength(float panningStrength);| Имя | Тип | По умолчанию |
|---|---|---|
panningStrength | float | — |
SetPitchScalevoid
public void SetPitchScale(float pitchScale);| Имя | Тип | По умолчанию |
|---|---|---|
pitchScale | float | — |
SetPlaybackTypevoid
public void SetPlaybackType(AudioServer.PlaybackType playbackType);| Имя | Тип | По умолчанию |
|---|---|---|
playbackType | AudioServer.PlaybackType | — |
SetPlayingvoid
public void SetPlaying(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetStreamvoid
public void SetStream(AudioStream stream);| Имя | Тип | По умолчанию |
|---|---|---|
stream | AudioStream | — |
SetStreamPausedvoid
public void SetStreamPaused(bool pause);| Имя | Тип | По умолчанию |
|---|---|---|
pause | bool | — |
SetVolumeDbvoid
public void SetVolumeDb(float volumeDb);| Имя | Тип | По умолчанию |
|---|---|---|
volumeDb | float | — |
SetVolumeLinearvoid
public void SetVolumeLinear(float volumeLinear);| Имя | Тип | По умолчанию |
|---|---|---|
volumeLinear | float | — |
Stopvoid
public void Stop();Остановка звука.
Сигналы и события1
FinishedСобытие
public event Action Finished;Выдаётся, когда при обновлении удалён один или несколько естественно завершившихся голосов. Другие голоса могут ещё играть. Stop() и вытеснение по лимиту не означают естественное завершение; цикл не выдаёт этот сигнал на каждом круге.