How to make sound.PlayURL() move with entity?

Hello,
I’m trying to do a radio that plays .pls streams, I have already made the radio play music stream, my only problem is, how to make sound.PlayURL() move along with my radio. Now it just stays where the radio was started.

I am using that already to set the position, however if I try to set it again, it just creates new position where it plays.
Is there any way to set it from outside that function?
My code:
[lua]
function Radio()
sound.PlayURL(“http://fragradio.co.uk/playlist.pls”, “3d”, function(channel)
channel:SetPos(EntPos)
end)
end
[/lua]

[lua]function Radio()
local chan
sound.PlayURL(“http://fragradio.co.uk/playlist.pls”, “3d”, function(channel)
chan = channel
end)

hook.Add("Think", "UpdatePos", function()
	if chan and chan:IsValid() then
		chan:SetPos(EntPos)
	end
end)

end[/lua]
Can’t think of anything else other than this.

I used this for my radio SENT.
I have all the channels and what radios they belong to in a table, and use a function to set the channel’s pos to the pos of the radio it belongs to.

[lua]
/////////////////////////////////////////////////////////////
//Change station
/////////////////////////////////////////////////////////////
function changeStation(station, radio)
sound.PlayURL( station, “3d mono play loop”, function( chan )
chan:SetPos(radio:GetPos())
chan:SetVolume(stream_volume:GetInt() / 100)
StreamSetup(station, radio, chan)
end )
end

/////////////////////////////////////////////////////////////
//Setup the stream
/////////////////////////////////////////////////////////////
function StreamSetup(station, radio, chan)
ChanNum = ChanNum + 1
for k,v in pairs (Channels) do
if (v.radio == radio) then
StopStream(v.Channel, v.ChanNum)
end
end
ChanNum = ChanNum + 1
Channels[ChanNum] = {
ChanNum = ChanNum,
Channel = chan,
station = station,
radio = radio
}
end

/////////////////////////////////////////////////////////////
//Manage streams
/////////////////////////////////////////////////////////////
function StreamManager()
if (table.Count(Channels) > 0) then
for k,v in pairs (Channels) do
if (!v.radio:IsValid() && v.Channel:IsValid() ) then
StopStream(v.Channel, v.ChanNum)
else
v.Channel:SetPos(v.radio:GetPos())
v.Channel:SetVolume(stream_volume:GetInt() / 100)
if (v.radio:GetPos():Distance(LocalPlayer():GetPos()) > stream_distance:GetInt()) then
v.Channel:Pause()
playing = false
else
if !playing then
v.Channel:Play()
playing = true
end
end
end
end
end
end
hook.Add( “Think”, “Stream_Manager”, StreamManager)[/lua]