-
I want people with voice chat to have no “spatial” audio. I want all players to hear each other within a server using the new audio API - utilizing wires.
-
Script that I made using a radio script I found on a game.
-
I’ve Looked through the devforum for resources, but I’m still confused about how these things work.
local players = game:GetService("Players")
local function connect(src: Instance, dst: Instance)
local wire = Instance.new("Wire", dst)
wire.SourceInstance = src
wire.TargetInstance = dst
end
local function onPlayerAdded(player: Player)
local input = Instance.new("AudioDeviceInput", player)
input.Player = player
local output = Instance.new("AudioDeviceOutput", player)
output.Player = player
connect(input, output)
end
players.PlayerAdded:Connect(onPlayerAdded)
for _, player in players:GetPlayers() do
onPlayerAdded(player)
end
2 Likes
Try this:
local players = game:GetService("Players")
-- Create a global listener for all audio
local globalListener = Instance.new("AudioListener", game.Workspace)
globalListener.Name = "GlobalAudioListener"
local function connect(src: Instance, dst: Instance)
local wire = Instance.new("Wire", dst)
wire.SourceInstance = src
wire.TargetInstance = dst
end
local function onPlayerAdded(player: Player)
local input = Instance.new("AudioDeviceInput", player)
input.Player = player
-- Connect each player's input to the global listener
connect(input, globalListener)
end
players.PlayerAdded:Connect(onPlayerAdded)
for _, player in players:GetPlayers() do
onPlayerAdded(player)
end
This should work, Let me know if you have any further questions!
2 Likes
Did you ever get this working? I am playing around and theres a lot of confusion with all the dozen new instances added with this update.
1 Like