AudioStreamInteractive
Аудиопоток, который может воспроизводить музыку в интерактивном режиме, объединяя клипы и таблицу переходов.
Аудиопоток, который может воспроизводить музыку в интерактивном режиме, объединяя клипы и таблицу переходов.
Это аудиопоток, который может воспроизводить музыку интерактивно, объединяя клипы и таблицу переходов. Сначала необходимо добавить клипы, а затем правила перехода через AudioStreamInteractive.AddTransition. Кроме того, этот поток экспортирует параметр свойства для управления воспроизведением через AudioStreamPlayer, AudioStreamPlayer2D или AudioStreamPlayer3D.
Это используется путем заполнения ряда клипов, а затем настройки таблицы переходов. Оттуда клипы выбираются для воспроизведения, и музыка будет плавно переходить от текущего к новому, используя соответствующее правило перехода, определенное в таблице переходов.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
AudioStreamInteractiveКонструктор
public AudioStreamInteractive();Свойства3
ClipCountСвойство
public int ClipCount { get; set; }Количество клипов, содержащихся в этом интерактивном плеере.
InitialClipСвойство
public int InitialClip { get; set; }Индекс начального клипа, который будет воспроизведен первым при воспроизведении данного потока.
_TransitionsСвойство
public Reckfell.Collections.Dictionary _Transitions { get; set; }Методы23
AddTransitionvoid
public void AddTransition(int fromClip, int toClip, AudioStreamInteractive.TransitionFromTime fromTime, AudioStreamInteractive.TransitionToTime toTime, AudioStreamInteractive.FadeMode fadeMode, float fadeBeats, bool useFillerClip = false, int fillerClip = -1, bool holdPrevious = false);Добавьте переход между двумя клипами. Укажите индексы исходного и конечного клипов или используйте константу AudioStreamInteractive.ClipAny, чтобы указать, что переход происходит из/в любой клип к этому.
from_timeуказывает момент в текущем клипе, после срабатывания которого начнется переход.to_timeуказывает время в следующем клипе, с которого начнется воспроизведение.fade_modeуказывает, как будет происходить затухание между клипами. Если вы не уверены, просто используйтеAudioStreamInteractive.FadeMode.Automatic, который использует наиболее распространенный тип затухания для каждой ситуации. *fade_beatsуказывает, сколько ударов займет затухание. Разрешено использование десятичных дробей.use_filler_clipуказывает, что между исходным и конечным клипами будет использоваться клип-заполнитель.filler_clipиндекс клипа-заполнителя.- Если используется
hold_previous, то этот клип будет запомнен. Это можно использовать вместе сAudioStreamInteractive.AutoAdvanceMode.ReturnToHold, чтобы вернуться к этому клипу после завершения воспроизведения другого.
| Имя | Тип | По умолчанию |
|---|---|---|
fromClip | int | — |
toClip | int | — |
fromTime | AudioStreamInteractive.TransitionFromTime | — |
toTime | AudioStreamInteractive.TransitionToTime | — |
fadeMode | AudioStreamInteractive.FadeMode | — |
fadeBeats | float | — |
useFillerClip | bool | false |
fillerClip | int | -1 |
holdPrevious | bool | false |
EraseTransitionvoid
public void EraseTransition(int fromClip, int toClip);Удалите переход, указав индексы клипов from_clip и to_clip. AudioStreamInteractive.ClipAny можно использовать для любого из аргументов или для обоих.
| Имя | Тип | По умолчанию |
|---|---|---|
fromClip | int | — |
toClip | int | — |
GetClipAutoAdvanceAudioStreamInteractive.AutoAdvanceMode
public AudioStreamInteractive.AutoAdvanceMode GetClipAutoAdvance(int clipIndex);Возвращает, включено ли для клипа автоматическое продвижение. См. AudioStreamInteractive.SetClipAutoAdvance.
| Имя | Тип | По умолчанию |
|---|---|---|
clipIndex | int | — |
AudioStreamInteractive.AutoAdvanceModeGetClipAutoAdvanceNextClipint
public int GetClipAutoAdvanceNextClip(int clipIndex);Возвращает клип, к которому будет автоматически переходить клип, указанный в clip_index.
| Имя | Тип | По умолчанию |
|---|---|---|
clipIndex | int | — |
intGetClipCountint
public int GetClipCount();intGetClipNameStringName
public StringName GetClipName(int clipIndex);Возвращает название клипа.
| Имя | Тип | По умолчанию |
|---|---|---|
clipIndex | int | — |
StringNameGetClipStreamAudioStream
public AudioStream GetClipStream(int clipIndex);Возвращает AudioStream, связанный с клипом.
| Имя | Тип | По умолчанию |
|---|---|---|
clipIndex | int | — |
AudioStreamGetInitialClipint
public int GetInitialClip();intGetTransitionFadeBeatsfloat
public float GetTransitionFadeBeats(int fromClip, int toClip);Возвращает время (в тактах) перехода (см. AudioStreamInteractive.AddTransition).
| Имя | Тип | По умолчанию |
|---|---|---|
fromClip | int | — |
toClip | int | — |
floatGetTransitionFadeModeAudioStreamInteractive.FadeMode
public AudioStreamInteractive.FadeMode GetTransitionFadeMode(int fromClip, int toClip);Возвращает режим перехода (см. AudioStreamInteractive.AddTransition).
| Имя | Тип | По умолчанию |
|---|---|---|
fromClip | int | — |
toClip | int | — |
AudioStreamInteractive.FadeModeGetTransitionFillerClipint
public int GetTransitionFillerClip(int fromClip, int toClip);Возвращает заполняющий клип для перехода (см. AudioStreamInteractive.AddTransition).
| Имя | Тип | По умолчанию |
|---|---|---|
fromClip | int | — |
toClip | int | — |
intGetTransitionFromTimeAudioStreamInteractive.TransitionFromTime
public AudioStreamInteractive.TransitionFromTime GetTransitionFromTime(int fromClip, int toClip);Верните исходную временную позицию для перехода (см. AudioStreamInteractive.AddTransition).
| Имя | Тип | По умолчанию |
|---|---|---|
fromClip | int | — |
toClip | int | — |
AudioStreamInteractive.TransitionFromTimeGetTransitionListint[]
public int[] GetTransitionList();Вернуть список переходов (от, до чередующихся).
int[]GetTransitionToTimeAudioStreamInteractive.TransitionToTime
public AudioStreamInteractive.TransitionToTime GetTransitionToTime(int fromClip, int toClip);Возвращает конечную временную позицию для перехода (см. AudioStreamInteractive.AddTransition).
| Имя | Тип | По умолчанию |
|---|---|---|
fromClip | int | — |
toClip | int | — |
AudioStreamInteractive.TransitionToTimeHasTransitionbool
public bool HasTransition(int fromClip, int toClip);Возвращает true, если указанный переход существует (был добавлен с помощью AudioStreamInteractive.AddTransition).
| Имя | Тип | По умолчанию |
|---|---|---|
fromClip | int | — |
toClip | int | — |
boolIsTransitionHoldingPreviousbool
public bool IsTransitionHoldingPrevious(int fromClip, int toClip);Возвращает, использует ли переход функциональность удержания предыдущего (Предыдущая) (см. AudioStreamInteractive.AddTransition).
| Имя | Тип | По умолчанию |
|---|---|---|
fromClip | int | — |
toClip | int | — |
boolIsTransitionUsingFillerClipbool
public bool IsTransitionUsingFillerClip(int fromClip, int toClip);Возвращает, использует ли переход функциональность заполнителя (Заливной клип) (см. AudioStreamInteractive.AddTransition).
| Имя | Тип | По умолчанию |
|---|---|---|
fromClip | int | — |
toClip | int | — |
boolSetClipAutoAdvancevoid
public void SetClipAutoAdvance(int clipIndex, AudioStreamInteractive.AutoAdvanceMode mode);Укажите, будет ли клип автоматически перематываться, изменив режим автоматического перематывания.
| Имя | Тип | По умолчанию |
|---|---|---|
clipIndex | int | — |
mode | AudioStreamInteractive.AutoAdvanceMode | — |
SetClipAutoAdvanceNextClipvoid
public void SetClipAutoAdvanceNextClip(int clipIndex, int autoAdvanceNextClip);Установите индекс следующего клипа, к которому этот клип будет автоматически переходить по завершении. Если воспроизводимый клип зацикливается, то автоматическое перемещение будет игнорироваться.
| Имя | Тип | По умолчанию |
|---|---|---|
clipIndex | int | — |
autoAdvanceNextClip | int | — |
SetClipCountvoid
public void SetClipCount(int clipCount);| Имя | Тип | По умолчанию |
|---|---|---|
clipCount | int | — |
SetClipNamevoid
public void SetClipName(int clipIndex, StringName name);Задайте название текущего клипа (для более легкой идентификации).
| Имя | Тип | По умолчанию |
|---|---|---|
clipIndex | int | — |
name | StringName | — |
SetClipStreamvoid
public void SetClipStream(int clipIndex, AudioStream stream);Установите AudioStream, связанный с текущим клипом.
| Имя | Тип | По умолчанию |
|---|---|---|
clipIndex | int | — |
stream | AudioStream | — |
SetInitialClipvoid
public void SetInitialClip(int clipIndex);| Имя | Тип | По умолчанию |
|---|---|---|
clipIndex | int | — |
Поля и константы1
ClipAnyПоле
public const long ClipAny = -1;Эта константа описывает, что любой клип действителен для определенного перехода как источник или как место назначения.
AudioStreamInteractive.AutoAdvanceMode
| Значение | Описание |
|---|---|
Disabled = 0 | Отключить автопереход (по умолчанию). |
Enabled = 1 | Для включения автоматического перехода необходимо указать клип. |
ReturnToHold = 2 | Включить авто-переход, но вместо указания клипа воспроизведение вернется в режим паузы (см. |
AudioStreamInteractive.FadeMode
| Значение | Описание |
|---|---|
Automatic = 4 | Использовать автоматическую логику затухания в зависимости от перехода от/к. Рекомендуется использовать это по умолчанию. |
Cross = 3 | Используйте плавный переход между клипами. |
Disabled = 0 | Не используйте затухание для перехода. Это полезно при переходе от конца клипа к началу клипа, и у каждого клипа есть свое начало/конец. |
In = 1 | Используйте плавное появление следующего клипа, дайте текущему клипу закончиться. |
Out = 2 | Используйте затухание в текущем клипе, следующий клип начнется сам собой. |
AudioStreamInteractive.TransitionFromTime
| Значение | Описание |
|---|---|
End = 3 | Переход после завершения воспроизведения текущего клипа. |
Immediate = 0 | Начните переход как можно скорее, не ждите какого-то определенного времени. Перевод_FROM_TIME_NEXT_BEAT |
NextBar = 2 | Переход, когда позиция воспроизведения клипа достигает следующего такта. Перевод_FROM_Time_ END |
NextBeat = 1 | Переход, когда позиция воспроизведения клипа достигает следующего такта. Перевод_FROM_Time_NEXT_BAR |
AudioStreamInteractive.TransitionToTime
| Значение | Описание |
|---|---|
PreviousPosition = 2 | Переход осуществляется к последней воспроизведенной позиции в целевом клипе, если ранее был переход из этого клипа. В противном случае воспроизведение начинается с начала целевого клипа. |
SamePosition = 0 | Переход к той же позиции в клипе назначения. Это полезно, когда оба клипа имеют одинаковую длину и музыка должна плавно переходить между ними. |
Start = 1 | Переход к началу целевого клипа. Перевод_TO_Time_PREVIOONTIONTION |