Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.07.2008, 16:47
wolas вне форума Посмотреть профиль Отправить личное сообщение для wolas Найти все сообщения от wolas
  № 1  
Ответить с цитированием
wolas

Регистрация: Mar 2008
Сообщений: 33
По умолчанию Подгрузка FLV через XML. VideoError: 1004: Invalid source

Есть два мувика(исходники прилагаются - http://www.zone-rouge.net/clips.rar ), которые при нажатии на кнопки подгружают следующую или предыдущую ФЛВишку из аррея. Проблема в следующем.
Если просто создать аррей и ручками вбить в него имена файлов, то всё работает нормально. Вот код:

Код:
import fl.video.FLVPlayback;

videoInstructions.playPauseButton = player;
videoInstructions.seekBar = seeker;
videoInstructions.volumeBar = volBar;

var clips:Array = ["01.flv", "02.flv"];
var index:Number = 0;


vid1_btn.addEventListener(MouseEvent.CLICK, clickVid1);
vid2_btn.addEventListener(MouseEvent.CLICK, clickVid2);



function nextClip():void 
{
MovieClip(this.root).videoInstructions.source = clips[index];
}


function clickVid1(event:MouseEvent):void {
	nextClip();
	index = index + 1;
	if (index > (clips.length - 1)) {
		index = 0;
	}
}

function clickVid2(event:MouseEvent):void
{
	nextClip();
index = index - 1;
	if (index < 0) {
		index = clips.length - 1;
	}
}
nextClip();


НО, необходимо подрузку реализовать через XML.
Вот, немного изменил предыдущий код(чтобы было легче,изменения промаркировал):




Код:
import fl.video.FLVPlayback;

videoInstructions.playPauseButton = player;
videoInstructions.seekBar = seeker;
videoInstructions.volumeBar = volBar;


var clips:Array = new Array(); //изменения ********************
var numImages:Number; //изменения ********************
var index:Number = 0;

var xmlLoader:URLLoader = new URLLoader(new URLRequest("clips.xml")); //изменения ********************

xmlLoader.addEventListener(Event.COMPLETE, initData); //изменения ********************

function initData(evt:Event):void { //изменения ********************
	var dataXML:XML = XML(xmlLoader.data); //изменения ********************
	var j:int; //изменения ********************
		
	numImages = dataXML.clips.length(); //изменения ********************
	for (j=0; j<numImages; j++) { //изменения ********************
		clips[j] = dataXML.clips[j].@filename.toString(); //изменения ********************
	}
}
vid1_btn.addEventListener(MouseEvent.CLICK, clickVid1);
vid2_btn.addEventListener(MouseEvent.CLICK, clickVid2);


function nextClip():void 
{
MovieClip(this.root).videoInstructions.source = clips[index];
}



function clickVid1(event:MouseEvent):void {
	nextClip();
	index = index + 1;
	if (index > (clips.length - 1)) {
		index = 0;
	}
}

function clickVid2(event:MouseEvent):void
{
	nextClip();
index = index - 1;
	if (index < 0) {
		index = clips.length - 1;
	}
}

nextClip();


Резальтат,- выдаются две шибки следующего(см ниже) рода.
НО, при этом всё работает как и в первом случае, только при старте мувика ошибки вылетают и видео не автоматически начинает проигрываться, а после нажатия кнопок.

Поскажите ребят, в чём проблема? Казалось бы видео он находит и проигрывает, но почему-то пишет ошибки. VideoError: 1004: Invalid source

И причём здесь NCManager, VideoPlayer и FLVPlayback если в первом случае всё нормально и без ошибок?

Помогите пожалуйста. Сам я не профи, только учусь.



Код:
VideoError: 1004: Invalid source
	at fl.video::NCManager/connectToURL()
	at fl.video::VideoPlayer/http://www.adobe.com/2007/flash/flvplayback/internal::_load()
	at fl.video::VideoPlayer/load()
	at fl.video::FLVPlayback/doContentPathConnect()
	at fl.video::FLVPlayback/set source()
	at video44XML_fla::MainTimeline/nextClip()
	at video44XML_fla::MainTimeline/frame1()

Код:
VideoError: 1004: Invalid source
	at fl.video::NCManager/connectToURL()
	at fl.video::VideoPlayer/http://www.adobe.com/2007/flash/flvplayback/internal::_load()
	at fl.video::VideoPlayer/load()
	at fl.video::FLVPlayback/doContentPathConnect()


Последний раз редактировалось wolas; 11.07.2008 в 16:59.
Старый 11.07.2008, 17:53
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
в параметрах компонента лежащего на сцене указан путь к несуществующему ФЛВ, вот он и ругается...
__________________
Hell is the possibility of sanity

Старый 12.07.2008, 03:13
wolas вне форума Посмотреть профиль Отправить личное сообщение для wolas Найти все сообщения от wolas
  № 3  
Ответить с цитированием
wolas

Регистрация: Mar 2008
Сообщений: 33
wvxvw пасиба за ответ...

но я несколько раз менял флв компонент. В смысле удалял старый и импорировал новое видео...с тем клипом, который лежал в тойже папке, что и мувик

ну и все флвишники лежат там же где и исполняемый файл, почему тогда в первом случае нет ругани?
Я в принципе понял, что инвалид сорс, но если после нажатия кнопок(vid1_btn/
vid2_btn, следующий/ предыдущий клип) начинается проигрывание, то по логике вещей сорс вовсе не инвалид, и что-то тут в другом тема.
Вот я и чешу репу........

зы сейчас попробовал вписать путь в ХМЛе по разному(тупо полный путь, с именем диска и директориями)....таже фигня(ошибки, но после клика на кнопки всё проигрывается)...блин...почему..? В чем разница...? Может правда нужно где-то прописать эти классы:
at fl.video::NCManager/connectToURL()
at fl.video::VideoPlayer/http://www.adobe.com/2007/flash/flvplayback/internal::_load()
at fl.video::VideoPlayer/load()
at fl.video::FLVPlayback/doContentPathConnect()

Вот только не могу понять почему в первом варианте без ошибок. Да и меня второй в общем-то устраивает, разве только если видео само не стартует, а так если бы ошибки не всплывали каждый раз, я бы и не заметил...

блин...


Последний раз редактировалось wolas; 12.07.2008 в 03:15.
Старый 12.07.2008, 03:42
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ок, объясняю =)
в первом случае сорс, или как там оно называется заменялось еще до того, как компонент инициализировался (т.е. скрипт на таймлайне выполнялся раньше конструктора компонента - поэтому ошибки не возникало (т.е. когда компонент понимал, что ему нужно что-то грузить, сорс уже был лихо заменен на новый). Загрузка ХМЛя, пусть и локально все равно произойдет пожже инициализации компонента - вот он и пытался сначала загрузить какой-то левый сорс, который был указан у него в настройках.
Левый сорс == videoInstructions.flv (этого файла не было в архиве вместе со всем остальным), вот его он и пытался грузить первым.
__________________
Hell is the possibility of sanity

Старый 12.07.2008, 16:17
wolas вне форума Посмотреть профиль Отправить личное сообщение для wolas Найти все сообщения от wolas
  № 5  
Ответить с цитированием
wolas

Регистрация: Mar 2008
Сообщений: 33
wvxvw спасибо, очень доходчиво

Проанализировав ваш комментарий, я понял что нужно добавить.
А именно, после первого слушателя ХМЛзагрузчика нужно добавить второй, вот такой:

Код:
xmlLoader.addEventListener(Event.INIT, nextClip);
может кому из новичков, таких как я, поможет....


зы и ваша правда, нужно сделать правильный сорс....иначе видео не стартует автоматически, но ошибок уже нет...

Спасибо за поддержку!


Последний раз редактировалось wolas; 12.07.2008 в 16:19.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:21.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.