Lua os.execute('powershell - Проигрывание звука в фоновом режиме)

StalkerClasses

Новичок
Есть скрипт на Lua.
В любом месте можно запустить команду проиграть звук:
Код:
os.execute('powershell -c (New-Object Media.SoundPlayer "c:\\windows\\media\\tada.wav").PlaySync();')
Но проигрывание звука происходит не в фоновом режиме.
Открывается черное окно командной строки и пока не проиграется звук скрипт дальше не продолжает свою работу.
Можно как-то запустить проигрывание звука фоновом режиме? Может через VLC.exe?
 

AnrDaemon

Продвинутый новичок
А почему должно было исполняться в фоновом режиме?… Ты сам прямым текстом сказал ему играть синхронно!
 

StalkerClasses

Новичок
К сожалению все равно вылазит черное окно.
Возможно написать или взять простую библиотеку на DLL для воспроизведения звука?
Пользователь кликает по кнопочке и должен происходить "щечек" без черного окна.
 

StalkerClasses

Новичок
Возможно ли как-то запускать командную строку с ID-идентифиатором?
Сейчас получается такая ситуация: при запуске проиграть звук с помощью: "
os.execute('powershell -c (New-Object Media.SoundPlayer "c:\\windows\\media\\tada.wav").PlaySync();')

когда сработало несколько событий в одно и тоже время получается что мелодия в 1 и тоже время будет проиграна несколько раз.
Т.е. это все равно что открыть пять проигрывателей и запустить одну и туже мелодию в одно и тоже время.

Возможно ли к командной строке обращаться по ID?

Т.е. что бы увидеть что такой процесс уже был запущен и не запускать его по новой пока он не отработает, либо же просто останавливать мелодию и по новому запускать...
 

weregod

unserializer
К сожалению там нет возможности штатно проиграть звук.
Вы не поняли мою идею, разве нельзя на стороне Lua хранить, какие звуки отправлены на проигрывание и чистить сей список по таймауту. Соответственно, можно по списку считать, что пока какой-то звук проигрывается и повторно его играть не надо, в общем, как-то так.
 
Сверху