ArgumentError: Error #2068: Недопустимый звуковой файл.

Код AS3:
import flash.display.Graphics;
import flash.filters.BlurFilter; //импортируем BlurFilter
import flash.media.Sound;
import flash.media.SoundLoaderContext;
import flash.net.URLRequest;
//Настройки эквалайзера
var numOfBars:Number = 100; //количество элементов
var barWidth:int = 8; //ширина одного элемента
var barHeight:int = 100; //максимальная высота
var bx:int = 300; //расположение по x
var by:int = 40; //расположение по y
//адрес песни
var p_stat:int=0;
var v_stat:int=0;
var req:URLRequest = new URLRequest("http://216.18.227.252:8000");
var context:SoundLoaderContext = new SoundLoaderContext(2500, false);
var potok:Sound = new Sound();
var chanal:SoundChannel = new SoundChannel();
var soud_vol:SoundTransform = new SoundTransform();
//настройки цвета
var b:Number = 1; //если "0", то будет обычная заливка, если "1", то градиентная
//для обычной заливки
var clr:uint = 0x65FF00; //цвет
var barAlpha:Number = 1; //прозрачность (принимает значения от 0 до 1)
//для градиентной заливки
var colors:Array = [0xA60000, 0xCD0074]; //цвета через запятую
var alphas:Array = [1, 1]; //прозрачность цветов через запятую (принимают значения от 0 до 1)
//обводка
var bclr:uint = 000000; //цвет обводки элемента
var bsize:Number = 0; //толщина обводки
var balpha:Number = 1 //прозрачность обводки, при равной 0 обводка отключается (принимает значения от 0 до 1)
//дополнительные параметры
var speed:Number = 70; //частота обновления в миллисекундах
//Параметры Blur Filter
var blur_quality:Number = 3; //степень размытия
var blur_blurX:Number = 5; //размытие по X
var blur_blurY:Number = 5; //размытие по Y
var blur_s:Number = 3; //"1"- блюр применяется только к эквалайзеру, "2"- и к экв. и к отражению, "3"- только к отражению
//отражение
var mir_size:Number = .3; //высота отражения, при значении больше "1" отражение отключается (принимает значения от 0 до 1)
var m_al:Number = .65; //прозрачность (принимает значения от 0 до 1)
var url= req
var filter_blur:BlurFilter = new BlurFilter(blur_blurX, blur_blurY, blur_quality); //создаём блюр
var ratios:Array = new Array();
var ba:ByteArray = new ByteArray(); //создаём байтовый массив для последующего хранения звуковой волны
var request:URLRequest = new URLRequest("");
var s:Sound = new Sound(); //создаём новый объект Sound для работы со звуком
s.addEventListener(Event.COMPLETE, completeHandler);
s.load(request); var song:SoundChannel = s.play(0,1);
song.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
song.stop();
var gr:Shape = new Shape();
gr.x = bx;
gr.y = by;
addChild(gr);
var m_gr:Shape = new Shape();
m_gr.x = bx;
m_gr.y = by;
m_gr.alpha = m_al;
if(mir_size<=1){m_gr.scaleY *= -1+mir_size;}else{m_gr.scaleY *= 0;}
addChild(m_gr);
ratios.push(0);
for (var i:Number=colors.length-1; i>1; i--){
ratios.push(Math.floor(256/i));
}
ratios.push(255); //в зависимости от кол-ва цветов градиентной заливки кладём в массив ratios переменные, указывающие кол-во переходов цвета
var time:Timer = new Timer(speed);
time.addEventListener(TimerEvent.TIMER, timerHandler);
time.start();
function completeHandler(arg1:flash.events.Event):void
{return;}
function soundCompleteHandler(event:Event):void
{time.stop();}
function timerHandler(event:TimerEvent):void {
SoundMixer.computeSpectrum(ba, true); //помещаем спектр частот в массив ba (параметр FFMode true - это значит, что возвращаем спектр частот, а не звуковую волну)
var i:int;
gr.graphics.clear();
gr.graphics.lineStyle(bsize, bclr, balpha);
m_gr.graphics.clear();
m_gr.graphics.lineStyle(bsize, bclr, balpha);
var m:Matrix = new Matrix();
m.createGradientBox(numOfBars*barWidth, -barHeight, Math.PI/2, 0, 0);
if(b==0){
gr.graphics.beginFill(clr, barAlpha);
m_gr.graphics.beginFill(clr, barAlpha);
}else{
gr.graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, m);
m_gr.graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, m);
}
gr.graphics.moveTo(0, 0);
m_gr.graphics.moveTo(0, 0);
for (i=0; i<numOfBars*barWidth; i+=barWidth) {
var t:Number = ba.readFloat(); //readFloat() считывает из массива байт число IEEE 754 с одинарной точностью и плавающей запятой.
var n:Number = (t * barHeight);
gr.graphics.drawRect(i, 0, barWidth, -n); //перерисовываем линии
m_gr.graphics.drawRect(i, 0, barWidth, -n); //перерисовываем линии (отражение)
if(blur_s==1){gr.filters = [filter_blur];}
if(blur_s==2){gr.filters = [filter_blur]; m_gr.filters = [filter_blur];}
if(blur_s==3){m_gr.filters = [filter_blur];}
}
}
play_buton.addEventListener(MouseEvent.CLICK, play_nazh);
vol_buton.addEventListener(MouseEvent.CLICK, vol_nazh);
v_stat=3;
vol_ur(v_stat);
vol_buton.gotoAndStop(v_stat);
function play_nazh(event:MouseEvent)
{
if (p_stat==0) {
p_stat=1;
play_buton.gotoAndStop(2);
potok.load(req,context);
chanal=potok.play();
vol_ur(v_stat);
addEventListener(Event.ENTER_FRAME, function ():void
{song = s.play()});
}
else {
p_stat=0;
play_buton.gotoAndStop(1);
chanal.stop();
potok.close();
var false_potok:Sound = new Sound();
potok = false_potok;
}
}
function vol_nazh(event:MouseEvent):void
{
v_stat=Math.ceil(event.localY/-2);
vol_buton.gotoAndStop(v_stat);
vol_ur(v_stat);
}
function vol_ur(v_stat)
{
soud_vol.volume = v_stat*1/5;
chanal.soundTransform = soud_vol;
}