Добрый день! После локальной загрузки mp3 файла начинается его воспроизвидения, по окнчанию вызывается событие Event.SOUND_COMPLETE и трайсим текущую позицию!
Проблема в том что точка остановки звука не совпадает с его длиной! Почему? Видь звук проигрывается до конца!

Код AS3:
import flash.display.Sprite;
import flash.media.Sound;
import flash.net.URLRequest;
import flash.events.Event;
import flash.media.SoundChannel;
var _sound:Sound;
var _chanel:SoundChannel;
function soundExample() {
_sound=new Sound();
var _request:URLRequest=new URLRequest("sound.mp3");
_sound.addEventListener(Event.COMPLETE,onComplete);
_sound.load(_request);
}
function onComplete(event:Event):void {
trace("length "+_sound.length);
_chanel=_sound.play();
_chanel.addEventListener(Event.SOUND_COMPLETE,onSoundComplete);
trace("start "+_chanel.position);
}
function onSoundComplete(event:Event) {
trace("end "+_chanel.position);
}
soundExample();
Результат trace:
length 15156.009070294785
end 15120
length и end не совпадают!?
И еще при переделке в отделньный класс и копиляции в flex еще интересней:
Тест1:
length 15156.009070294785
end 14860.770975056688
Тест2:
length 15156.009070294785
end 14814.331065759638
Тест3:
length 15156.009070294785
end 14767.891156462585
Во flex "end" постоянно меняется, а во flash "end 15120" постоянно!
Добавлено через 2 часа 8 минут
Я думаю что кото то все таки писал audio player, не ужели у вас небыло такой проблемы! У меня бегунок останавливается за несколько секунд до конца(_sound.length), хотя SOUND_COMPLETE уже наступило!