Звуковые файлы в Lua

093bf4204cf2563ba977d3ac6974a930

Рассказываю как просто сделать функцию для воспроизведения  звука в различных форматах в скриптах Lua.

Надо сделать на СИ dll для луа с такой функцией.  

Код C:

static int mciSS(lua_State*L){  mciSendString((char*)lua_tostring(L,1),0,0,0); }

Если кто-то не сможет , пишите — выложу готовую dll. Далее у меня в статье dll называется nks. Вызов функции в скрипте nks.mciss.

Поясняю как применять эту функцию в скриптах lua:

Чтобы воспроизвести файл  в формате WAV  надо открыть устройство с этим файлом так:

Код Lua

local file="C:/Windows/Media/Alarm10.wav" -- звуковой файл

nks.mciss("open "..file.."  alias MediaFile wait"); -- открыть устройство

Для воспроизведения содержимого файла  пишем там , где хочется:

Код Lua

nks.mciss("play MediaFile FROM 0 wait");

Чтобы воспроизвести файл  в формате MP3 надо сделать все тоже самое, но для этого файла. Например у меня это файл «D:/nks/test.mp3»

Код Lua

local file="D:/nks/test.mp3" -- звуковой файл

nks.mciss("open "..file.."  alias MediaFile wait"); -- открыть устройство

Для воспроизведения содержимого файла  пишем там, где хочется:

Код Lua

nks.mciss("play MediaFile FROM 0 wait");

Опции : Если Вам хочется запустить звук и не ждать, когда закончится, то уберите в последней команде «wait».

Если Вам хочется воспроизводить много различных звуков в разных местах скрипта, то в начале скрипта откройте все звуковые файлы  и для каждого из них сделайте уникальное имя устройства.

Его надо написать вместо «MediaFile» .

Для воспроизведения конкретного файла надо указать имя его устройства в команде воспроизведения вместо  «MediaFile».

Желаю успешного прослушивания звуковых файлов в скриптах Lua.

© Habrahabr.ru