lua:audiostream

Воспроизведение аудио

Функции для воспроизведения аудио из библиотеки CLEO 4, ставшие встроенными в MoonLoader в версии .026.

AudioStream handle = loadAudioStream(zstring audio)

Загружает аудио из файла или по веб-адресу

zstring audio путь к файлу или Web-адрес

AudioStream handle аудиопоток

AudioStream handle = loadAudioStreamFromMemory(uint address, uint size)

Загружает аудиопоток из файла в памяти процесса

uint address адрес памяти
uint size размер файла

AudioStream handle загруженный аудиопоток

setAudioStreamState(AudioStream handle, int state)

Задаёт новый статус аудиопотоку

AudioStream handle аудиопоток
int state состояние

local as_action = require('moonloader').audiostream_state
 
setAudioStreamState(audio, as_action.PLAY)
releaseAudioStream(AudioStream handle)

Освобождает загруженный аудиопоток. Использовать не необходимо, т.к. аудиопотоки освобождаются автоматически сборщиком мусора.

AudioStream handle аудиопоток

releaseAudioStream(audiostream)
-- правильно:
audiostream = nil
double length = getAudioStreamLength(AudioStream handle)

Возвращает длительность аудиопотока в секундах

AudioStream handle аудиопоток

double length длительность

int state = getAudioStreamState(AudioStream handle)

Возвращает статус аудиопотока

AudioStream handle аудиопоток

int state статус

local as_status = require('moonloader').audiostream_status
 
if getAudioStreamState(as) == as_status.STOPPED then
  -- ...
end
float volume = getAudioStreamVolume(AudioStream audio)

Возвращает громкость аудиопотока

AudioStream audio аудиопоток

float volume громкость

setAudioStreamVolume(AudioStream audio, float volume)

Устанавливает громкость аудиопотока

AudioStream audio аудиопоток
float volume громкость

setAudioStreamLooped(AudioStream audio, bool loop)

Переключает статус зацикленности аудиопотока

AudioStream audio аудиопоток
bool loop зациклить

AudioStream handle = load3dAudioStream(zstring audio)

Загружает аудиопоток с поддержкой объёмного (3D) звука

zstring audio путь к файлу или веб-адрес

AudioStream handle загруженный аудиопоток

AudioStream handle = load3dAudioStreamFromMemory(uint address, uint size)

Загружает аудиопоток с объёмным звучанием из файла в памяти процесса

uint address адрес памяти
uint size размер

AudioStream handle загруженный аудиопоток

setPlay3dAudioStreamAtCoordinates(AudioStream handle, float posX, float posY, float posZ)

Устанавливает 3D-аудиопотоку позицию в мире игры

AudioStream handle аудиопоток
float posX, posY, posZ координаты

local as_action = require('moonloader').audiostream_state
local as = load3dAudioStream('moonloader/resource/audio/sound.mp3')
local x, y, z = getCharCoordinates(PLAYER_PED)
setPlay3dAudioStreamAtCoordinates(as, x, y, z)
setAudioStreamState(audio, as_action.PLAY)
setPlay3dAudioStreamAtObject(AudioStream audio, Object object)

Прикрепляет 3D-звук к объекту

AudioStream audio аудиопоток
Object object объект

setPlay3dAudioStreamAtChar(AudioStream audio, Ped ped)

Прикрепляет 3D-звук к персонажу

AudioStream audio аудиопоток
Ped ped персонаж

setPlay3dAudioStreamAtCar(AudioStream audio, Vehicle car)

Прикрепляет 3D-звук к транспортному средству

AudioStream audio аудиопоток
Vehicle car транспорт