Как стать автором
Обновить

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

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.8K

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

Теги:
Хабы:
Всего голосов 8: ↑4 и ↓40
Комментарии1

Публикации

Истории

Работа

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн