Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   MediaPlayback.contentPath не работает (http://www.flasher.ru/forum/showthread.php?t=113283)

MikeMike 24.06.2008 03:25

MediaPlayback.contentPath не работает
 
Есть MediaPlayback, если я в его свойствах в компонент инспекторе прописываю URL все работает, если я пишу в первом кадре видео:
Код:

pb.contentPath="bob.flv";
trace( pb.contentPath );

То нихрена не работает. contentPath присваивается правильное значение, но ничего не происходит. Пробывал не в первом кадре, пробывал по кнопке. Пробывал вызывать еще метод load(), play().
Я уже и поиском попользовался (нашел, кстати, 2 точно таких же вопроса без единого ответа ;( и FAQ почитал.... Уже мозг закипел реально.

Как так - через инспектор свойств работает, а через скрипт - нет???

MikeMike 24.06.2008 22:53

Так похоже это будет третий экземпляр одного и того же вопроса, на который никто не даст ответа... Что, никто не сталкивался? Ау?!

fljot 24.06.2008 23:30

а вы когда кодом прописываете contentPath, в компонент-инспекторе при этом удаляете?

MikeMike 24.06.2008 23:46

Если не удалять, то все работает как прежде (проигрывается то, что написано в компонент инспекторе, то что записано в contentPath в него записывается, но на видео это никак не сказывается).

В mediaDisplay есть метод setMedia. Так вот он работает. Но в MediaPlayback такого метода нет. В чем тут подвох?

MikeMike 24.06.2008 23:49

Я понял, что компонент игнорит, то что я пишу в contentPath. Чтобы я туда ни писал, он продолжает играть то, что играл прежде (соотвественно, если URL не прописывать, то будет молчать как прежде).

Может надо его как-то носом ткнуть, чтобы он загрузил то, что я ему пишу?

В mediaDisplay есть метод setMedia. Так вот он работает. Но в MediaPlayback такого метода нет.

wvxvw 25.06.2008 00:00

нет, нужно дожаться инициализации компонента, вот так они криво сделаны... проверяйте в onEnerFrame наличие такого свойства у компонента, когда оно окажется в наличии присваивайте ему значение:
Код:

onEnterFrame = function () {
if (myMediCom.contentPath) {
myMediCom.contentPath = 'someContentPath';
delete this.onEnterFrame;
}
}


MikeMike 25.06.2008 01:36

Я уж было обрадовался, что решение найдено, но ничего работает....

В "if (myMediCom.contentPath)" он сразу заходит если URL прописан и вообще не заходит, если URL не прописан (в инспекторе свойств). Так что если URL не прописывать (что нам и надо), то код под if никогда не выполнится.

Если же URL прописан, все по-прежнему. contentPath изменяется, но на воспоизведении клипа это никак не сказывается. :(

Наконец, я попробывал вставлять contentPath = "имяфайла"; в on(click) кнопки. Так и там не работает!!! Кнопка-то точно нажимается, когда все загрузилось. Так что дело в чем-то другом.

wvxvw 25.06.2008 02:31

Ну, тогда даж не знаю... а вы уверены, что у этого компонента есть (должно быть) такое свойство?
О, нашел =)
Код:

onEnterFrame = function () {
if (myMediCom.setMedia) {
myMediCom.setMedia("http://www.helpexamples.com/flash/video/clouds.flv", "FLV");
delete this.onEnterFrame;
}
}

просто дефолтное значение contentPath == undefined, поэтому ентерфрейм никогда не удалялся

MikeMike 25.06.2008 11:26

Посмотрите выше, я же уже писал, нет у этого компонента метода SetMedia. У меня в книжке по Flash + в хелпе везде написано, что надо тупо использовать contentPath. А он не работает!?

Люди!!! Как вы делаете обычный прогрыватель flv-файлов?
Чтобы передавать имя файла во Flash через GET и потом его проигрывать!?
Задача ведь элементарная, казалось бы. И везде используется...

Может это только у меня contentPath не работает???

wvxvw 25.06.2008 13:58

Ленивый вариант - FLVPlayBack компонент. Нормальный - с использованием NetConnection / NetStream. А по поводу вашего случая - я кажется начинаю догадываться =) Этот компонент состоит из двух частей, одна - контроли, вторая - дисплей, нужно контролю назначать contentPath.


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

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