Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

AudioStreamInteractive

Успадковує: AudioStream < Resource < RefCounted < Object

Аудіопотік, який може відтворювати музику в інтерактивному режимі, поєднуючи кліпи та таблицю переходів.

Опис

Це аудіопотік, який може відтворювати музику в інтерактивному режимі, поєднуючи кліпи та таблицю переходів. Спершу потрібно додати кліпи, а правила переходу — через add_transition(). Крім того, цей потік експортує параметр властивості для керування відтворенням через AudioStreamPlayer, AudioStreamPlayer2D або AudioStreamPlayer3D.

Це використовується шляхом заповнення кількох кліпів, а потім налаштування таблиці переходів. Звідти кліпи вибираються для відтворення, а музика плавно переходитиме від поточного до нового, використовуючи відповідне правило переходу, визначене в таблиці переходів.

Посібники

Властивості

int

clip_count

0

int

initial_clip

0

Методи

void

add_transition(from_clip: int, to_clip: int, from_time: TransitionFromTime, to_time: TransitionToTime, fade_mode: FadeMode, fade_beats: float, use_filler_clip: bool = false, filler_clip: int = -1, hold_previous: bool = false)

void

erase_transition(from_clip: int, to_clip: int)

AutoAdvanceMode

get_clip_auto_advance(clip_index: int) const

int

get_clip_auto_advance_next_clip(clip_index: int) const

StringName

get_clip_name(clip_index: int) const

AudioStream

get_clip_stream(clip_index: int) const

float

get_transition_fade_beats(from_clip: int, to_clip: int) const

FadeMode

get_transition_fade_mode(from_clip: int, to_clip: int) const

int

get_transition_filler_clip(from_clip: int, to_clip: int) const

TransitionFromTime

get_transition_from_time(from_clip: int, to_clip: int) const

PackedInt32Array

get_transition_list() const

TransitionToTime

get_transition_to_time(from_clip: int, to_clip: int) const

bool

has_transition(from_clip: int, to_clip: int) const

bool

is_transition_holding_previous(from_clip: int, to_clip: int) const

bool

is_transition_using_filler_clip(from_clip: int, to_clip: int) const

void

set_clip_auto_advance(clip_index: int, mode: AutoAdvanceMode)

void

set_clip_auto_advance_next_clip(clip_index: int, auto_advance_next_clip: int)

void

set_clip_name(clip_index: int, name: StringName)

void

set_clip_stream(clip_index: int, stream: AudioStream)


Переліки

enum TransitionFromTime: 🔗

TransitionFromTime TRANSITION_FROM_TIME_IMMEDIATE = 0

Почніть перехід якнайшвидше, не чекайте певної позиції часу.

TransitionFromTime TRANSITION_FROM_TIME_NEXT_BEAT = 1

Перехід, коли позиція відтворення кліпу досягає наступного такту.

TransitionFromTime TRANSITION_FROM_TIME_NEXT_BAR = 2

Перехід, коли позиція відтворення кліпу досягає наступного рядка.

TransitionFromTime TRANSITION_FROM_TIME_END = 3

Перехід після закінчення відтворення поточного кліпу.


enum TransitionToTime: 🔗

TransitionToTime TRANSITION_TO_TIME_SAME_POSITION = 0

Перехід до тієї самої позиції в кліпі призначення. Це корисно, коли обидва кліпи мають однакову довжину і музика між ними має затихати.

TransitionToTime TRANSITION_TO_TIME_START = 1

Перехід до початку кліпу призначення.

TransitionToTime TRANSITION_TO_TIME_PREVIOUS_POSITION = 2

Transition to the last played position in the destination clip, if there was a previous transition from that clip. Otherwise, plays from the start of the destination clip.


enum FadeMode: 🔗

FadeMode FADE_DISABLED = 0

Не використовуйте затухання для переходу. Це корисно під час переходу від кінця кліпу до початку кліпу, і кожен кліп має свій початок/кінець.

FadeMode FADE_IN = 1

Використовуйте плавне наближення в наступному кліпі, нехай поточний кліп закінчиться.

FadeMode FADE_OUT = 2

Використовуйте згасання в поточному кліпі, наступний кліп розпочнеться сам.

FadeMode FADE_CROSS = 3

Використовуйте крос-фейд між кліпами.

FadeMode FADE_AUTOMATIC = 4

Використовуйте логіку автоматичного згасання залежно від переходу від/до. Рекомендовано використовувати це за замовчуванням.


enum AutoAdvanceMode: 🔗

AutoAdvanceMode AUTO_ADVANCE_DISABLED = 0

Вимкнути автоматичний перехід (за замовчуванням).

AutoAdvanceMode AUTO_ADVANCE_ENABLED = 1

Увімкніть автоматичне переміщення, необхідно вказати кліп.

AutoAdvanceMode AUTO_ADVANCE_RETURN_TO_HOLD = 2

Увімкніть автоматичний перехід, але замість того, щоб указати кліп, відтворення повернеться до режиму утримання (див. add_transition()).


Константи

CLIP_ANY = -1 🔗

Ця константа описує, що будь-який кліп дійсний для певного переходу як джерело або місце призначення.


Описи властивостей

int clip_count = 0 🔗

  • void set_clip_count(value: int)

  • int get_clip_count()

Кількість кліпів, які містяться в цьому інтерактивному програвачі.


int initial_clip = 0 🔗

  • void set_initial_clip(value: int)

  • int get_initial_clip()

Індекс початкового кліпу, який буде відтворено першим під час відтворення цього потоку.


Описи методів

void add_transition(from_clip: int, to_clip: int, from_time: TransitionFromTime, to_time: TransitionToTime, fade_mode: FadeMode, fade_beats: float, use_filler_clip: bool = false, filler_clip: int = -1, hold_previous: bool = false) 🔗

Додає перехід між двома кліпами. Укажіть індекси вихідного та кінцевого кліпів або використовуйте константу CLIP_ANY, щоб вказати, що відбувається перехід до/з будь-якого кліпу до цього.

* from_time вказує момент у поточному кліпі, коли перехід почнеться після запуску.

* to_time вказує час у наступному кліпі, з якого почнеться відтворення.

* fade_mode вказує, як відбуватиметься затухання між кліпами. Якщо ви не впевнені, просто використовуйте FADE_AUTOMATIC, який використовує найпоширеніший тип затухання для кожної ситуації.

* fade_beats вказує, скільки ударів займе фейд. Допускається використання десяткових дробів.

* use_filler_clip вказує, що між вихідним і цільовим кліпами буде використовуватися кліп-заповнювач.

* filler_clip індекс кліпу-заповнювача.

* Якщо використовується hold_previous, цей кліп буде запам'ятатися. Це можна використовувати разом із AUTO_ADVANCE_RETURN_TO_HOLD, щоб повернутися до цього кліпу після завершення відтворення іншого.


void erase_transition(from_clip: int, to_clip: int) 🔗

Стерти перехід, надавши індекси кліпу from_clip і to_clip. CLIP_ANY може використовуватися для будь-якого аргументу або обох.


AutoAdvanceMode get_clip_auto_advance(clip_index: int) const 🔗

Повідомляє, чи ввімкнено автоматичне переміщення кліпу. Перегляньте set_clip_auto_advance().


int get_clip_auto_advance_next_clip(clip_index: int) const 🔗

Повернути кліп, до якого буде автоматично переходити кліп, на який посилається clip_index.


StringName get_clip_name(clip_index: int) const 🔗

Повернути назву кліпу.


AudioStream get_clip_stream(clip_index: int) const 🔗

Повертає AudioStream, пов’язаний із кліпом.


float get_transition_fade_beats(from_clip: int, to_clip: int) const 🔗

Повертає час (у ударах) переходу (див. add_transition()).


FadeMode get_transition_fade_mode(from_clip: int, to_clip: int) const 🔗

Повернути режим для переходу (див. add_transition()).


int get_transition_filler_clip(from_clip: int, to_clip: int) const 🔗

Поверніть кліп-заповнювач для переходу (див. add_transition()).


TransitionFromTime get_transition_from_time(from_clip: int, to_clip: int) const 🔗

Повертає початкову часову позицію для переходу (див. add_transition()).


PackedInt32Array get_transition_list() const 🔗

Повернути список переходів (від, до чергування).


TransitionToTime get_transition_to_time(from_clip: int, to_clip: int) const 🔗

Повертає часову позицію призначення для переходу (див. add_transition()).


bool has_transition(from_clip: int, to_clip: int) const 🔗

Повертає true, якщо певний перехід існує (був доданий через add_transition()).


bool is_transition_holding_previous(from_clip: int, to_clip: int) const 🔗

Повертає, чи використовує перехід функцію утримувати попередній (див. add_transition()).


bool is_transition_using_filler_clip(from_clip: int, to_clip: int) const 🔗

Повертає, чи використовує перехід функцію заповнювача (див. add_transition()).


void set_clip_auto_advance(clip_index: int, mode: AutoAdvanceMode) 🔗

Змінивши режим автоматичного переходу, установіть, чи буде кліп автоматично переходити вперед.


void set_clip_auto_advance_next_clip(clip_index: int, auto_advance_next_clip: int) 🔗

Встановіть індекс наступного кліпу, до якого цей кліп буде автоматично переходити після завершення. Якщо кліп, який відтворюється, повторюється, автоматичний перехід буде проігноровано.


void set_clip_name(clip_index: int, name: StringName) 🔗

Встановіть назву поточного кліпу (для легшої ідентифікації).


void set_clip_stream(clip_index: int, stream: AudioStream) 🔗

Установіть AudioStream, пов’язаний із поточним кліпом.