Рассказываю как просто сделать функцию для воспроизведения  звука в различных форматах в скриптах 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.