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

Audio

Только client Аудио API недоступен в server.lua Reflex-модуля.

GetSound() загружает audio clip из ресурсов текущего модуля. PlaySound2D() передаёт его локальному непространственному проигрывателю, а PlaySound() создаёт пространственное воспроизведение в мировой позиции; сервер и другие игроки этот вызов не получают.

VoiceChat управляет состоянием локального voice-room клиента, а VoiceLinePlayer только раскрывает данные уже запущенной игровой реплики. Отображение subtitle выполняет отдельный встроенный HUD-модуль.

Вызов или объект Результат
Sounds:GetSound() Только загружает ресурс. Звук ещё не воспроизводится.
Sounds:PlaySound() Локально воспроизводит пространственный звук из указанной точки мира. Громкость зависит от расстояния до камеры.
Sounds:PlaySound2D() Локально воспроизводит непространственный звук с одинаковой громкостью в обоих каналах.
VoiceChat:SetMuted() / ToggleMuted() Меняет только то, слышит ли локальный игрок выбранного агента. Отдельного уведомления на экране нет.
VoiceLinePlayer.Subtitle Только возвращает текущий текст. Стандартные субтитры выводит встроенный модуль HudSubtitles в нижней части экрана.

Окно стандартных субтитров расположено по центру примерно на уровне 75% высоты экрана. Игрок может изменить его положение в редакторе HUD; при отключённом или заменённом HudSubtitles свойство продолжит работать, но стандартный текст не появится.

Поместите Alert.wav в папку sounds модуля:

local sound = Sounds:GetSound("Alert.wav")
if sound ~= nil then
Sounds:PlaySound2D(sound, 0.7, 1)
end

Загруженный звуковой ресурс. Объект передаётся в методы Sounds.

Глобальный API загрузки и воспроизведения звуков.

Sounds:GetSound(soundName: string): Sound

Ищет файл в папке sounds текущего модуля. Имя указывается с расширением, но без пути к папке. Поддерживаются форматы .wav, .mp3 и .ogg. Для отсутствующего файла возвращает nil.

Параметр Тип Необязательный Описание
soundName string Имя файла, например Alert.wav.

Возвращает: Sound или nil

Sounds:PlaySound(
sound: Sound,
position: Vector3,
volume: number = 1,
minDistance: number = 5,
maxDistance: number = 500,
pitch: number = 1
)

Проигрывает пространственный звук в указанной точке мира. Вызов возвращает nil.

Параметр Тип Необязательный Описание
sound Sound Загруженный звуковой ресурс.
position Vector3 Позиция источника в мировых координатах.
volume number Громкость звука.
minDistance number Расстояние, внутри которого сохраняется полная громкость.
maxDistance number Расстояние, к которому звук затихает.
pitch number Высота тона и скорость воспроизведения.
Sounds:PlaySound2D(sound: Sound, volume: number = 1, pitch: number = 1)

Проигрывает звук без пространственного позиционирования. Вызов возвращает nil.

Параметр Тип Необязательный Описание
sound Sound Загруженный звуковой ресурс.
volume number Громкость от 0 до 1.
pitch number Высота тона и скорость воспроизведения.

Состояние голосового чата для указанного агента.

VoiceChat:IsAvailable(agent: Agent): bool

Возвращает true, если агент доступен в текущей голосовой комнате. При недоступном соединении возвращает false.

VoiceChat:IsMuted(agent: Agent): bool

Возвращает локальное состояние заглушения агента.

VoiceChat:IsSpeaking(agent: Agent): bool

Возвращает true, если агент сейчас говорит в доступной голосовой комнате.

VoiceChat:SetMuted(agent: Agent, muted: bool): bool

Локально заглушает или разглушает агента. Возвращает true, если EOS принял запрос на изменение состояния. Возвращает false, если агент недоступен, голосовая комната не подключена или запрос нельзя отправить.

VoiceChat:ToggleMuted(agent: Agent): bool

Читает текущее локальное состояние, переключает его и возвращает результат отправки запроса. При ошибке возвращает false.

Для всех методов параметр agent имеет тип Agent.

Состояние встроенного проигрывателя голосовых реплик.

Свойство Тип Доступ Описание
IsPlaying bool get true, если сейчас проигрывается голосовая реплика.
Subtitle string get Текст субтитров текущей реплики.