Сваял, благодаря "Сборнику рецептов", но обнаружил 2 проблеммы:
1. кнопка плей\пауза работает только 1 раз
2. после снятия с паузы останавливается полоса проигрывания

Код AS3:
var _sound:Sound;
var _request:URLRequest=new URLRequest("song.mp3");
var buffer:SoundLoaderContext=new SoundLoaderContext(10000);
var _channel:SoundChannel;
var _playing:Boolean=false;
var position:int;
_sound=new Sound(_request,buffer);
_channel=_sound.play();
_playing=true;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event):void {
var barHeight:int=5;
var barWidth:int=200;
var total:int=_sound.bytesTotal;
var loaded:int=_sound.bytesLoaded;
var _length:int=_sound.length;
graphics.clear();
graphics.beginFill(0xFF9900);
graphics.drawRect(80,30,barWidth,barHeight);
graphics.endFill();
if (total>0) {
var percent:Number=loaded/total;
var position:int=_channel.position;
_length/=percent;
var played:Number=position/_length;
graphics.beginFill(0xFFFF99);
graphics.drawRect(80,30,barWidth*percent,barHeight);
graphics.endFill();
graphics.beginFill(0xFF3300);
graphics.drawRect(80,30,barWidth*played,barHeight);
graphics.endFill();
}
}
_sound.addEventListener(Event.ID3, onID3);
function onID3(event:Event) {
_title.text=_sound.id3.artist+"-"+_sound.id3.songName;
}
btn_pl.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void {
if (_playing) {
position=_channel.position;
_channel.stop();
}
else {
_sound.play(position);
}_playing= !_playing;
}