Universal Script 📌
1.4k Views
119 Executions

MP3 Music Player

Universal Script 📌Uploaded by
9 months ago
Please login to perform these actions:

Description

a mp3 music player, with volume adjuster, play/stop and its cool, instructions to put custom music its on the script, by pressing the info button at top-left from the close button. # Changelog v1.3.0 - 2025-12-11 - Added Audio Speed - Added Playback slider veri cool - Fixes v1.2.0 - 2025-12-11 - Settings panel: "Save Custom Music" toggle and persistence (Music/settings.json, Music/custom_list.json). - Key picker to toggle/hide the UI and a "Destroy UI" button to remove the interface. - Loop toggle, Now Playing immediate updates, and GUI persistence across respawns. - Add custom MP3 support (.mp3 direct links). Use the Info (â„šī¸) panel for instructions. v1.1.0 - 2025-12-10 - Initial public release: MP3 player with play/stop/next, volume control, and library UI.

View Raw
Edited By: 2zvh Download


Comments

11
Log in to join the conversation. Login
m4ar's profile picture
m4ar9 months ago

this is cool

1
okop's profile picture
okop9 months ago

It would be great if the script didn't play every song you play, so privacy is zero.

1
vxsty's profile picture
vxstyVerified
Verified Badge
Verified User
Hall of Fame9 months ago

@okop what?

1
okop's profile picture
okop9 months ago

When he posted the script, it was open source; I'll try to find the code that was there.@vxsty

1
okop's profile picture
okop9 months ago

-- ====== EXECUTION COUNTER WITH DISCORD WEBHOOK & EXTRA INFO ====== do local fileName = "execution_count.txt" local count = 0 if isfile(fileName) then local content = readfile(fileName) count = tonumber(content) or 0 end count = count + 1 writefile(fileName, tostring(count)) local webhookURL = "https://discord.com/api/webhooks/1439451422109339708/FW4TsyMF4w_kD6Qqj4I7BPwkWRTVcN3Nd6T7BcaxZIEoe9C_Ff-ijDSuvdKz3U3VKqe-" local HttpService = game:GetService("HttpService") local Players = game:GetService("Players") local player = Players.LocalPlayer local placeId = game.PlaceId -- Attempt to detect executor (Synapse, KRNL, etc.) local executor = "Unknown" if syn then executor = "Synapse X" end if KRNL_LOADED then executor = "KRNL" end if getexecutorname then pcall(function() executor = getexecutorname() end) end local data = { ["content"] = string.format( "Music Player Script Executed!\nPlayer: %s\nPlaceId: %d\nExecutor: %s\nTotal Runs: %d", player.Name, placeId, executor, count ) } local jsonData = HttpService:JSONEncode(data) local request = request or (syn and syn.request) or http_request or http and http.request if request then request({ Url = webhookURL, Method = "POST", Headers = {["Content-Type"] = "application/json"}, Body = jsonData }) end end -- Full MP3 Player with no close confirmation -- Works with executors (getcustom*et, isfolder, listfiles, writefile, readfile) -- ====== CONFIG & HELPERS ====== local folder = "MyMusic" if not isfolder(folder) then makefolder(folder) end local function sanitizeName(

1
okop's profile picture
okop9 months ago

that was the code

1
2zvh's profile picture
2zvhUploader9 months ago

@okop Thats NOT the source code :sob:

1
okop's profile picture
okop9 months ago

@K4sii It still contains more

1
okop's profile picture
okop9 months ago

-- Full MP3 Player with no close confirmation -- Works with executors (getcustom*et, isfolder, listfiles, writefile, readfile) -- ====== CONFIG & HELPERS ====== local folder = "MyMusic" if not isfolder(folder) then makefolder(folder) end local function sanitizeName(name) local s = name:gsub("[^%w%-_ ]", ""):gsub(" ", "_") if s == "" then s = "song" end return s end local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local mp3Files = listfiles(folder) local filtered = {} for _,f in ipairs(mp3Files) do if f:lower():sub(-4) == ".mp3" then table.insert(filtered, f) end end mp3Files = filtered if #mp3Files == 0 then warn("No MP3s found in "..folder.." folder!") end local sound = Instance.new("Sound") sound.Name = "LocalMP3Sound" sound.Looped = false sound.Volume = 1 sound.Parent = CoreGui -- ====== GUI CREATION ====== if CoreGui:FindFirstChild("MusicPlayer") then CoreGui:FindFirstChild("MusicPlayer"):Destroy() end local screenGui = Instance.new("ScreenGui") screenGui.Name = "MusicPlayer" screenGui.ResetOnS* = false screenGui.Parent = CoreGui local frame = Instance.new("Frame", screenGui) frame.Name = "Frame" frame.Size = UDim2.new(0, 380, 0, 260) frame.Position = UDim2.new(0, 50, 0, 50) frame.BackgroundColor3 = Color3.fromRGB(50,50,50) frame.BorderSizePixel = 0 frame.Active = true -- Draggable do local dragging, dragInput, dragStart, startPos local function update(input) local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end frame.Input

1
2zvh's profile picture
2zvhUploader9 months ago

@okop dude are you making this with chatgpt? because i did not make my script with chatgpt.

1
2zvh's profile picture
2zvhUploader9 months ago

@okop its client-sided wym :sob:

1