PDA

Просмотр полной версии : Имя файла из JS в FLVPlayback


static
16.06.2006, 13:14
Уважаемые,
нужно чтобы FLVPlayback брал название файла из скрипта, но чтото не получается

флеш, в первом кадре:

import mx.video.*;
my_FLVPlybk.contentPath = _root.myVar;
var listenerObject:Object = new Object();
listenerObject.metadataReceived = function(eventObject:Object):Void {
my_FLVPlybk.setSize(my_FLVPlybk.preferredWidth, my_FLVPlybk.preferredHeight);
};
my_FLVPlybk.addEventListener("metadataReceived",listenerObject);

javascript:

window.onload = function() {
window.document.myFlash.SetVariable("myVar", "http://test.fotomade.ru/1.flv");
}

и

<OBJECT id=myFlash .....>
<PARAM ...><PARAM ...>
<embed src="player.swf" swliveconnect="true" .... name="myFlash"></embed>
</OBJECT>

значение myVar в флеш пересылается, но с contentPath не работает
что я не так делаю?

PS в поиск (в том числе и гугль) просьба не посылать, все перерыл, конкретно моего случая не нашел ;)

Usnul
16.06.2006, 15:12
ответ кстати проще чем кажется даже, ты передаешь переменную после инициализации кода, тоесть contentPath == null
прикрути листенер на изменение переменной myVar

vooparker
16.06.2006, 15:18
2 static:
Так навскидку, насколько я понял значение переменной устанавливается по событию онЛоад, а флэшка загружается и пытается воспроизвести поток до этого события, иными словами переменная myVar не определена на момент начала воспроизведения потока. Хотя не гарантирую что в этом проблема.

Надеюсь понятно

static
16.06.2006, 16:06
2 vooparker
я специально ставил в флеше текстовое поле, в котором выдавалось значение переменной myVar - все было в порядке.. а как в качестве значения contentPath - ноль эмоций...

ответ кстати проще чем кажется даже, ты передаешь переменную после инициализации кода, тоесть contentPath == null
прикрути листенер на изменение переменной myVar

я c листенерами честно говоря еще не сталкивался.. это чтото типа

my_FLVPlybk.addListener(myVar);

?

Usnul
16.06.2006, 16:41
возможно я ошибаюсь, но ты не на флекссе это дело пишешь случайно?

static
16.06.2006, 17:02
эээ.... а что такое "флексс" ?! :-)

Stone
16.06.2006, 17:33
в качестве теста

1. my_FLVPlybk.contentPath = "http://test.fotomade.ru/1.flv"; - узнаешь вообще работает ли

2. тест №1 возращаешь в первоначальное положение
<embed src="player.swf?myVar='http://test.fotomade.ru/1.flv'" - если и так сработает - значит переменная попадаешь во флэш позже чем надо

static
16.06.2006, 17:59
2Stone

получилось, и в 1 и в 2
все понятно
спасибо огромное!! :drinks:

проблема значит именно в том что переменная опаздывает передается
кстати а методом <embed src="... можно несколько переменных передать?

__i
16.06.2006, 18:09
2Stone
проблема значит именно в том что переменная опаздывает передается
кстати а методом <embed src="... можно несколько переменных передать?
help - > watch

Stone
16.06.2006, 18:12
<embed src="player.swf?var1='value1'&var2='value2'&........