Detect when SoundPlay complete it's task
This code represents the problem that I am facing now:
SetSetting(SETTING_TYPE_AUDIO, AUDIO_SETTING_BACKGROUND_AUDIO, 1) PlaySound(SOUNDS.EMPEROR_CORONATED_DAGGERFALL) SetSetting(SETTING_TYPE_AUDIO, AUDIO_SETTING_BACKGROUND_AUDIO, 0) The sound will be played, but I won't be able to hear it as the 3rd line executes instantly Any solution for this? Edit: I am looking now at http://esoapi.uesp.net/current/src/l...layer.lua.html |
I can't seem to find a function for sound length or a sound complete event, so what you can do is first test how long the sound takes to play, and then use zo_callLater(function() changeSetting end, delayInMilliseconds)
|
I have found a solution
function onSoundFinishedTurnOffBackgroundAudio() SetSetting(SETTING_TYPE_AUDIO, AUDIO_SETTING_BACKGROUND_AUDIO, 0) end local alertSound = ZO_QueuedSoundPlayer:New() alertSound:SetFinishedAllSoundsCallback(onSoundFinishedTurnOffBackgroundAudio) alertSound:PlaySound(SOUNDS.EMPEROR_CORONATED_DAGGERFALL, 3000) |
All times are GMT -6. The time now is 02:04 PM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI