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

Функции для воспроизведения аудио из библиотеки 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 транспорт