Тема: Проигрывание звуковых файлов из Lua (mp3, wav, midi и т.д.)
Установка: распаковываем из [url=quik2dde.ru/static-img/78/w32.dll.zip]архива с библиотекой w32[/url] файл w32.dll, копируем его в каталог с терминалом QUIK (туда, где info.exe). ([url=https://quik2dde.ru/viewtopic.php?id=78]почитать подробнее про библиотеку w32[/url])
Использование: добавляем в код робота текст
-- подключить библиотеку w32
local w32 = require("w32")
-- функция проигрывания файла
-- вызов: PlaySoundFile("имя файла")
function PlaySoundFile(file_name)
w32.mciSendString("CLOSE QUIK_MP3")
w32.mciSendString("OPEN \"" .. file_name .. "\" TYPE MpegVideo ALIAS QUIK_MP3")
w32.mciSendString("PLAY QUIK_MP3")
end
Пример использования:
-- проиграть звуковой файл из каталога Windows XP
PlaySoundFile("C:\\WINDOWS\\Media\\Windows XP - запуск.wav")
При задании строковых констант путей к файлу не забывайте "удваивать" символы обратного слэша.
Полезные особенности данного метода:
проверил проигрывание файлов wav, mp3, midi: проигрываются
на время проигрывания файла выполнение Lua-скрипта не останавливается
если проигрывание одного файла еще не закончилось и снова вызвана функция PlaySoundFile(), то тут же начинает играть новый файл
Описание разных команд для mciSendString в интернете:
[url=http://web.archive.org/web/20180130234313/http://free-basic.ru/mcisendstring.html]http://free-basic.ru/mcisendstring.html[/url] - есть примеры разных команд для mciSendString
[url]https://frolov-lib.ru/books/bsp/v15/ch2_2.htm[/url] - очень подробное описание разных команд, особенно связанных с проигрыванием звуков