From 9a3734f125868b2dd5b32b85869367520d54fdc2 Mon Sep 17 00:00:00 2001 From: MrXogos <49158267+Xogy@users.noreply.github.com> Date: Tue, 13 Dec 2022 16:06:25 +0100 Subject: [PATCH] Fixed non dynamic sound issue --- client/events.lua | 10 ++++++++-- fxmanifest.lua | 3 +-- html/scripts/SoundPlayer.js | 9 ++++----- html/scripts/config.js | 1 - html/scripts/functions.js | 15 +++++++++------ html/scripts/listener.js | 10 +++++++--- 6 files changed, 29 insertions(+), 19 deletions(-) delete mode 100644 html/scripts/config.js diff --git a/client/events.lua b/client/events.lua index e28f3dd..608b9d1 100644 --- a/client/events.lua +++ b/client/events.lua @@ -1,3 +1,10 @@ +RegisterNUICallback("init", function() + SendNUIMessage({ + status = "init", + time = config.RefreshTime, + }) +end) + RegisterNUICallback("data_status", function(data) if soundInfo[data.id] ~= nil then if data.type == "finished" then @@ -64,8 +71,7 @@ RegisterNUICallback("events", function(data) end end) -RegisterNetEvent("xsound:stateSound") -AddEventHandler("xsound:stateSound", function(state, data) +RegisterNetEvent("xsound:stateSound", function(state, data) local soundId = data.soundId if state == "destroyOnFinish" then diff --git a/fxmanifest.lua b/fxmanifest.lua index 09f56a0..3d6c245 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -34,8 +34,7 @@ ui_page "html/index.html" files { "html/index.html", - - "html/scripts/config.js", + "html/scripts/listener.js", "html/scripts/SoundPlayer.js", "html/scripts/functions.js", diff --git a/html/scripts/SoundPlayer.js b/html/scripts/SoundPlayer.js index d9ae190..49181b8 100644 --- a/html/scripts/SoundPlayer.js +++ b/html/scripts/SoundPlayer.js @@ -96,7 +96,7 @@ class SoundPlayer } */ - if(this.isMuted_ || isMutedAll){ + if(this.dynamic && (this.isMuted_ || isMutedAll)){ if(!this.isYoutube) { if(this.audioPlayer != null) { @@ -171,18 +171,17 @@ class SoundPlayer enablejsapi: 1, width: "0", height: "0", - playerVars: { - controls: 0, + playerVars: { + controls: 0, }, events: { 'onReady': function(event){ + event.target.unMute(); event.target.setVolume(0); event.target.playVideo(); isReady(event.target.getIframe().id); }, 'onStateChange': function(event){ - event.target.unMute(); - event.target.setVolume(0); if (event.data == YT.PlayerState.ENDED) { isLooped(event.target.getIframe().id); ended(event.target.getIframe().id); diff --git a/html/scripts/config.js b/html/scripts/config.js deleted file mode 100644 index fbb548a..0000000 --- a/html/scripts/config.js +++ /dev/null @@ -1 +0,0 @@ -var refreshTime = 100; \ No newline at end of file diff --git a/html/scripts/functions.js b/html/scripts/functions.js index 0290486..34aee2f 100644 --- a/html/scripts/functions.js +++ b/html/scripts/functions.js @@ -29,7 +29,8 @@ function isReady(divId, howler){ var time = 0; if(sound.getAudioPlayer() != null){time = sound.getAudioPlayer()._duration;} - if(sound.isDynamic()) sound.setVolume(0); + if(sound.isDynamic()) sound.setVolume(0); + if(!sound.isDynamic()) sound.setVolume(sound.getVolume()); $.post('https://xsound/data_status', JSON.stringify( { @@ -38,8 +39,8 @@ function isReady(divId, howler){ id: sound.getName(), })); - addToCache(); - updateVolumeSounds(); + addToCache(); + updateVolumeSounds(); break; } } @@ -68,9 +69,11 @@ function isReady(divId, howler){ })); sound.isYoutubeReady(true); - if(!sound.isDynamic()) sound.setVolume(sound.getVolume()) - addToCache(); - updateVolumeSounds(); + + addToCache(); + updateVolumeSounds(); + + if(!sound.isDynamic()) sound.setVolume(sound.getVolume()); break; } } diff --git a/html/scripts/listener.js b/html/scripts/listener.js index 68e4579..b424e87 100644 --- a/html/scripts/listener.js +++ b/html/scripts/listener.js @@ -4,10 +4,16 @@ var isMutedAll = false; var playerPos = [-90000,-90000,-90000]; $(function(){ + + $.post('https://xsound/init'); + window.addEventListener('message', function(event) { var item = event.data; switch(item.status) { + case "init": + setInterval(updateVolumeSounds, item.time); + break; case "position": playerPos = [item.x,item.y,item.z]; break; @@ -260,6 +266,4 @@ function updateVolumeSounds() } } } -} - -setInterval(updateVolumeSounds, refreshTime); \ No newline at end of file +} \ No newline at end of file