Показать сообщение отдельно
Старый 30.12.2009, 17:28
neva вне форума Посмотреть профиль Отправить личное сообщение для neva Найти все сообщения от neva
  № 1  
Ответить с цитированием
neva

Регистрация: Jul 2006
Сообщений: 30
По умолчанию Проблемы со звуком!

Добрый день! После локальной загрузки 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 уже наступило!