Показать сообщение отдельно
Старый 25.11.2007, 14:33
2morrowMan вне форума Посмотреть профиль Отправить личное сообщение для 2morrowMan Найти все сообщения от 2morrowMan
  № 1  
Ответить с цитированием
2morrowMan
 
Аватар для 2morrowMan

Регистрация: Aug 2007
Сообщений: 467
По умолчанию Проблема с перемткой трэка в потоковом аудио

Делаю муз. плэер на сайт.
Музыка берется из потока по определенной ссылке.
Зделал перемотку по клику на полосе проигрывания. Во Флеше (когда запускаем из под Флеша) все работает отлично - все перематыватся, все правильно отображается. Но из под браузера(IE, FF) перемотка работет неправильно: при клике на полосе вначале (0-30%) трэк начинает проигрываться где-то с середины, при клике на середине полосы или дальше вызываеться событие SOUND_COMPLETE, т.е. песня закончилась.

Думал может выкидывает из буфера то что уже проиграло, но тестировал перематывать на те места, которые еще не проигрывались и всеравно этот глюк!

Может кто сталкивался с такой проблемой? Как ее можно решыть?
Или это очередной баг...

Вот на всякий случа укороченый код того что есть.
Код:
var sound:Sound;
var channel:SoundChannel;

function load():void
{
	sound = new Sound();
	var req:URLRequest = new URLRequest(url);
	var context:SoundLoaderContext = new SoundLoaderContext(bufferTime, true);
	sound.load(req, context);
}

function play(pos:int = 0):void
{
	channel = sound.play(pos, 0, new SoundTransform(volume));
	channel.addEventListener(Event.SOUND_COMPLETE, onPlayComplete);
}

function stop():void
{
	if (this.isPlaying())
	{
		pausePosition = channel.position;
		channel.stop();
		channel.removeEventListener(Event.SOUND_COMPLETE, onPlayComplete);
	}
}
Перемотка:
Код:
stop();
play(myPosition);


Последний раз редактировалось 2morrowMan; 25.11.2007 в 14:36.