Показать сообщение отдельно
Старый 19.12.2008, 15:50
Juggernaut вне форума Посмотреть профиль Отправить личное сообщение для Juggernaut Найти все сообщения от Juggernaut
  № 9  
Ответить с цитированием
Juggernaut

Регистрация: Oct 2008
Сообщений: 13
Ура... этот ужос наконец то заработал ... еще пока модифицирую но уже работает в двух режимах через вовзу и минуя ее через прямую ссылку на flv... увидеть шедевр флешестроения можно тут http://levelbox.ru/video/all/new/p1/...3589954741/pc1

Очень волную меня следующие глюки, которые пока не смог исправить:
1. При выходе в меню появляется таблица URL адресов. Каждая полоска с адресом реагирует на одно нажатие и выдиляется при помощи setSelection. однако вторая колонка с длиннючим адресом, выделяется только на половину, что это может быть?

Код AS3:
this.nmUrlLinc.addEventListener(MouseEvent.MOUSE_UP, tx1Ov);
this.nmNam.addEventListener(MouseEvent.MOUSE_UP, tx2Ov);
 
function tx1Ov(event:MouseEvent)
{
	nmUrlLinc.setSelection(0,nmNam.length)
}
function tx2Ov(event:MouseEvent)
{
 
	nmNam.setSelection(0,nmNam.length)
}
2. Чуть ли не самая большая головная боль у меня ползунок видео
Он попросту отказывается корректно работать (особенно вовремя загрузки видео)
Все это дерганье напрямую связанно с тем что вовремя обычной работы его положение контролируется одной функцией
Код AS3:
function setProgress(timecode:Number)
{
	//эталонная длинна ползунка
        var totalWidth:Number = _plBarRels.width; 
       //время показа ролика (без преобразования в секунды)
       var newTimecode:Number = adjTimecode(timecode);
       // переводим последние 2 параметра в длинну линии прогресса
	var newWidth = (totalWidth * newTimecode)/duration;
 
	if (newWidth > totalWidth)
		newWidth = totalWidth;
 
	//передвигаем ползунок контроля соответственно фактическому месту проигрывания (при условии что мы не трогаем ползунок мышкой)
	if (!isScrubbing && isProgressUpdate)
	{
		_plBarProgres.width = newWidth;
	}
}
а при захвате ползунка мышкой, другой...

Код AS3:
var scrubTimer:Number = 0;
var isScrubbing:Boolean = false;
var scrubTime:Number = 0;
var scrubIsPlaying:Boolean;
var ScrBarFl:Boolean = false
//...................................
 
 
// Калькулирует позицию скролбара и малого дисплея при претаскивании мышью
function calcScrub()
{
	if(ScrBarFl)
	{
	var xpos:Number = _plBar.mouseX; //общее растягиваемый мувик скролбара содержащий в себе все элементы (который растягивается пропорционально длинне внутреннего мувика _plBarRels.width но при этом более правильно отображается mouseX тогда как в растянутом _plBarRels, mouseX остается неизменным
 
	var xmax:Number = _plBarBufer.width; //красная полоса отмечающая прогресс загрузки
 
		if (xpos >= 0 && xpos <= xmax)
		{
 
                   scrubTime = (duration*xpos)/xmax;
 
			_plBarProgres.width = xpos; // невидимая полоса длинна котороей есть координата х для круглого ползунка
		}
	}
}
 
 
 
//Клик по скролбару
function startScrub(event:MouseEvent)
{
	ScrBarFl = true //даем разрешение на перемещение ползунка
 
	scrubTimer = setInterval(calcScrub, 0.1);
	isScrubbing = true;
	scrubTime = -1;
 
	calcScrub();
 
	scrubIsPlaying = isPlaying;
 
	if (isPlaying){nsPlay.pause()}
 
	//выводим малый дисплей времени
	scrto=true
}
 
 
 
 
// Отклик со скролбара
function stopScrub(event:MouseEvent)
{
 
	if (ScrBarFl)
	{
		ScrBarFl = false
		if (scrubTimer)
			clearInterval(scrubTimer);
		scrubTimer = 0;
 
		if (scrubTime != -1)
		{
			currFastDir = "play";
			currFastIndex = 0;
			//nsPlay.receiveAudio(true);
			//isProgressUpdate = false;
			if (scrubIsPlaying)
			{
				//isPlaying = true;
				nsPlay.resume();
				nsPlay.seek(scrubTime);
			}
			else
			{
				//isPlaying = false;
				nsPlay.seek(scrubTime);
			}
			updateFFSpeed();
		}
 
		isScrubbing = false;
	}
	if (movieNameVars!=null){ 
		isProgressUpdate = true;
	}
 
	//убираем малый дисплей времени
	scrto=false
}
и как только я отпускаю мышку, то старые координаты и новые не совмещаются между собой...

если кто поймет в чем тут проблемма (если надо я дам более широкий код) то пишите ...

В понедельник я выделю и дам коды других блоков имеющих баги

Добавлено через 4 часа 46 минут
Следующая на очереди видеокамера... это скажу сразу... случай более легкий чем плеер... (в коде по короче будет) однако, те кто имеет опыт, прошу подсобить... (как и с плеером)... в замен буду делиться всем доступным мне опытом

Добавлено через 5 часов 8 минут
И (да не забанят меня админы за флуд) последний вопрос на пятницу... вопрос, ответ на который я пока не нашел... как при съмеке камерой, сделать снимок одного кадра средствами as3 (например через каждые десять минут) чтоб отображать его в списке транслируемых съемок (например как в www.smotri.com)