![]() |
MediaPlayback.contentPath не работает
Есть MediaPlayback, если я в его свойствах в компонент инспекторе прописываю URL все работает, если я пишу в первом кадре видео:
Код:
pb.contentPath="bob.flv";Я уже и поиском попользовался (нашел, кстати, 2 точно таких же вопроса без единого ответа ;( и FAQ почитал.... Уже мозг закипел реально. Как так - через инспектор свойств работает, а через скрипт - нет??? |
Так похоже это будет третий экземпляр одного и того же вопроса, на который никто не даст ответа... Что, никто не сталкивался? Ау?!
|
а вы когда кодом прописываете contentPath, в компонент-инспекторе при этом удаляете?
|
Если не удалять, то все работает как прежде (проигрывается то, что написано в компонент инспекторе, то что записано в contentPath в него записывается, но на видео это никак не сказывается).
В mediaDisplay есть метод setMedia. Так вот он работает. Но в MediaPlayback такого метода нет. В чем тут подвох? |
Я понял, что компонент игнорит, то что я пишу в contentPath. Чтобы я туда ни писал, он продолжает играть то, что играл прежде (соотвественно, если URL не прописывать, то будет молчать как прежде).
Может надо его как-то носом ткнуть, чтобы он загрузил то, что я ему пишу? В mediaDisplay есть метод setMedia. Так вот он работает. Но в MediaPlayback такого метода нет. |
нет, нужно дожаться инициализации компонента, вот так они криво сделаны... проверяйте в onEnerFrame наличие такого свойства у компонента, когда оно окажется в наличии присваивайте ему значение:
Код:
onEnterFrame = function () { |
Я уж было обрадовался, что решение найдено, но ничего работает....
В "if (myMediCom.contentPath)" он сразу заходит если URL прописан и вообще не заходит, если URL не прописан (в инспекторе свойств). Так что если URL не прописывать (что нам и надо), то код под if никогда не выполнится. Если же URL прописан, все по-прежнему. contentPath изменяется, но на воспоизведении клипа это никак не сказывается. :( Наконец, я попробывал вставлять contentPath = "имяфайла"; в on(click) кнопки. Так и там не работает!!! Кнопка-то точно нажимается, когда все загрузилось. Так что дело в чем-то другом. |
Ну, тогда даж не знаю... а вы уверены, что у этого компонента есть (должно быть) такое свойство?
О, нашел =) Код:
onEnterFrame = function () { |
Посмотрите выше, я же уже писал, нет у этого компонента метода SetMedia. У меня в книжке по Flash + в хелпе везде написано, что надо тупо использовать contentPath. А он не работает!?
Люди!!! Как вы делаете обычный прогрыватель flv-файлов? Чтобы передавать имя файла во Flash через GET и потом его проигрывать!? Задача ведь элементарная, казалось бы. И везде используется... Может это только у меня contentPath не работает??? |
Ленивый вариант - FLVPlayBack компонент. Нормальный - с использованием NetConnection / NetStream. А по поводу вашего случая - я кажется начинаю догадываться =) Этот компонент состоит из двух частей, одна - контроли, вторая - дисплей, нужно контролю назначать contentPath.
|
FLVPlayBack компонент = MediaPlayback?
У меня в есть только MediaPlayback. Про не ленивый вариант я знаю, но там ведь не будет кнопочек контроля (пауза, стоп). Можно, конечно, их вручную сделать, но зачем так извращаться, когда все уже сделано. Как я могу доступиться до дисплея, который засунут внутри MediaPlayback? Да и к тому же вряд ли в этом дело, ведь contentPath в MediaDisplay тоже не работает!!!! (зато там есть SetMedia). Единственный приемлимый вариант, который я вижу сейчас - использовать два компонента MediaDisplay и MediaController. Но тут обнаруживается новая проблема (да что же это в конце концов такое!?). В MediaPlayback в инспекторе свойств было свойство ControlVisibility = auto, on, off, которое показывает видно ли кнопочки пауза, громкость и т.п.: видно (on), нет (off) или они сами высовываются при наведении мышки (auto). А в MediaController этого свойства нет. А мне этого изврата с наведением мышки совсем не надо. Может Macromedia Flash MX 2004 страшно кривая вещь и стоит поставить что-то более новое (CS)? У меня литература под эту версию заточена, поэтому я ее и поставил. |
FLVPlayback компонент != MediaPlayback
Не знаю, если честно, вы пока единственный, кто на моей памяти воспользовался этим компонентом =) Вот именно для того, чтобы не извращаться с настройками, которые еще и непонятно как работают проще свой написать... |
Когда я брался за эту задачу, посмотрел в книжке, как это делать. В книжке написано про компоненты Media*. Зачем нужны компоненты, если они не работают? :(
А FLVPlayback откуда взять? У меня его в Components нет. :eek: |
Ничего не понимаю! Я дуб!
В инете все обсуждают FLVPlayback, но никто не спрашивает, где его взять как будто он у них изначально есть. ГДЕ ЕГО ВЗЯТЬ????!!!! |
Вложений: 1
Ctrl + F7 -> video -> FLVPlayback -> перетащить в библиотеку...
вот, сделал пример =) |
По Ctrl-F7 есть:
DataComponents MediaComponents UI Components всё! |
флеш какой-то недоделаный... варианты: проапдейтить / переустановить / попросить у кого-нть SWC с дефолтными компонентами.
PS. смотри пост выше с примером Ой, только сейчас обратил внимание, что 7-й Флеш... я уже не помню где он там был... или может его тогда не было вообще... |
Я поставил 8 флэш и пришло ко мне счастье!
(правда я еще не проверял) |
Ну и геморрой! Пока я тут одну строчку во флэш отлаживаю, я бы на PHP пару сотен отладил. :confused:
Поставил я FLVPlayback. Подскажите, пожалуйста, почему по Ctrl-Enter все работает (видео видно), а по F12 вечная загрузка мувика в плеер? Я уже паблиш сеттингс все почти наизусть выучил, а понять в чем дело не могу. Если по swf в винде кликнуть, нормально работает, а если в HTML его запихнуть, нихрена. Все файлы в одной папке живут. |
А в Global Security Settings на сайте Adobe заглядывали? А плеер какой? А что написано в ХТМЛ в allowAccess?
ЗЫ. Тоже нашли с чем сравнить... =) Для новичка ПХП == кромешная тьма, самый худший мануал, который только можно себе представить. Что уж и говорить о многозначительных названиях функций =) Не в обиду будет сказано. Отнеситесь к этому, как к шутке =) В любом деле опыт очень важная составляющая производительности =) |
Цитата:
Код:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="myflashvars" align="middle">Вместо allowScriptAccess=sameDomain пробовал ставить Allways. Эти прокладки тоже не помогли. Плеер девятый. Что, собственно, ему не нравится? |
Global Security Settings
то, что вы нашли - это разрешение страницой содержащей ActiveX обращаться к ней из ActiveX"а. Но проблемы безопасности возникают не там, а на этапе соединения с удаленным сервером, с которого вы очевидно пытаетесь получить FLV. Если FLV находится в той же директории, тогда в Security Manager нужно указать эту директорию в разрешенных. Если FLV находится на удаленном сервере - на сервере должен быть crossdomain.xml разрешающий доступ вашей SWF (если SWF не находится в той же директории на сервере, что и FLV). Да, и еще важна полная версия плеера, политики безопасности в 9.115 и 9.124 отличаются. |
Да я до сервера пока не дошел. У меня на локальной машине не работает. У меня на компьютере, в папке C:\XXX лежит test.swf, bob.flv и test.htm. test.htm показывает test.swf, а он, в свою очередь, bob.flv. Клик по swf показывает, а по htm - нет. И еще я не понимаю, причем тут версия плеера, ведь получившаяся байда должна будет работать у всех пользователей, вне зависимости от того, какой у кого плеер. Нет?
Да, кстати, я не собираюсь проигрывать flv-шки с других серверов. В инете все будет на одном сервере. Я сейчас еще поэкспериментирую с тем, что Вы написали. |
Параметр codebase из HTML и чья-то версия, в нем указанная, на что-нибудь влияют?
|
Вложений: 2
На домашней машине у меня хотя бы кнопочки плеера рисовались, а тут (на работе) даже и этого нет. См. вложения.
|
Блин, оказывается, нельзя было открывать как локальный файл, надо было через localhost. Я тормозил, никто не подсказал... Ох уж эта безопасность (что уж безопаснее, казалось бы, как открыть локальный файл на своем компьютере?)
|
>>> И еще я не понимаю, причем тут версия плеера
Вот млин, упрямство =) Говорю же, у разных версий плеера разные политики безопасности. У 9.045 менее жесткие, у 9.124 - более жесткие. А в 6-м плеере так вообще можно было файлы на локальном комьютере записывать. В 9.115 при отсутствии кроссдомейн политик будет выдано уведомление, но контент загрузится, в 9.124 - контент не загрузится, и будет ошибка. В 9.045 кроссдомейн не должен был, например имплементить ДТД его специфический, а начиная с 9.155 - должен, и в незаполненые поля будут подставлены дефолтные значения. Кроссдомейны в 8-м плеере, не помню до какой версии, не понимали * в качестве аттрибута, и до 9-й версии не понимали * в качестве маски для аттрибута. Т.е. allow-access-from="*.mydomain.com" - валидный параметр для 9-ки, но в 8-ке домейн www.mydomain.com не будет считаться разрешенным при точно таком же ХМЛе, ну и т.д. Адобовские статьи про кроссдомейны запутанные, длинные и скучные, но их надо осилить =) - иначе грабли неизбежны =) |
| Часовой пояс GMT +4, время: 07:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.