Просмотр полной версии : Flash MP3 player с ДУ управлением.
Fragmazter
10.05.2007, 21:45
Как передать значение на выполнение из одного флэш ролика (находящегося на одном frame) другому (также находящиемуся на другом frame)
http://img81.**************/img81/2006/framemp3playerlt5.gif
хочу сделать флэш MP3 проигрыватель с ДУ допустим, а для того, чтобы при переходе по страницам проигрыватель продолжал воспроизведение, было принято решение вынести компоненту Флэш с загрузкой и выспроизведением некого MP3 файла в отдельный фрэйм, т.е. сам контрол обновляеца с переходом по страницам, а проигрыватель продолжает играть... ну что-то вроде того.
Я с Флэш в целом отлично знаком и он являеца незаменимым инструментом в моих разработках, а вот со встроенным AS увы не особо, раньше особо не приходилось прибегать к данной возможности.
Я полагаю, нужно завести переменную-флаг и проверять ее в "приемнике", а Флэш-передатчик в свою очередь передает эту переменную, как реализовать получение переменной от "передатчика к приемнику"?
Aziz Zaynutdinoff
10.05.2007, 21:49
Смысла в этом совсем мало, но по вопросу:
У вас два отдельных swf-ролика, и ни один из них не встраивается в другой? Или один в другой подгружается? В смысле что вы понимаете под frame: тэг или кадр?
Fragmazter
10.05.2007, 22:19
Смысла в этом совсем мало, но по вопросу:
У вас два отдельных swf-ролика, и ни один из них не встраивается в другой? Или один в другой подгружается? В смысле что вы понимаете под frame: тэг или кадр?
Под фрейм понимаеца подход , иже технология разделения области страницы на два независимых фрейма, ан нет, не совсем независимых, зависят они от материнского окна , речь в данном случаи шла не о FRAME (кадры во флэш), а именно о теге языка гипертекстовой разметки.
А реализовать я хочу следующее: как видно из наглядного рисунка есть , два фрейма, грубо говоря 2 отдельных страницы на одной странице <FRAME>, в одном Флэш - страница с каким-то контентом, которая регулярно обновляется, на ней расположен флэш с кнопками допустим Воспроизвести и Стоп, есть другой фрейм, он по умолчанию имеет 0% высоту, а соответственно спрятан и не виден, напоминает HIDDEN в теге FORM, на странице этого фрейма также расположен Флэш ролик, который является проигрывателем, т.е. видить его ни к чему, он воспроизводит звуковой ролик за кадром, всего лишь создавая новый объект SOUND и воспроизводя его по кругу. Но вот и цель, сделать так, чтобы на рабочем фрейме, где расположен Флэш-ДУ, можно было по нажатию кнопки и вызова определенного события, допустим приостановить воспроизведение в другом, том что спрятан.
Fragmazter
11.05.2007, 00:38
неужели никто больше не знает, как это реализовать? о_о
DarkLight
11.05.2007, 02:12
реализуется через LocalConnection
Fragmazter
11.05.2007, 03:01
реализуется через LocalConnection
а поточнее, как?:confused:
http://livedocs.adobe.com/flash/9.0/main/00001792.html
Fragmazter
11.05.2007, 14:28
http://livedocs.adobe.com/flash/9.0/main/00001792.html
блин, сложный пример, однако я уверен, что поставленная задача значительно проще, можете просто привести пример двух флэшек, с одним лишь возвращаемым параметром Controls.SWF [нажата кнопка "Стоп"] - MP3Player.SWF [останаливает воспроизведение], неужели необходимо создавать какой-то LocalConnection? Можете просто привести небольшой примерчик??? Я ж в конце концов новичок :( а задача стоит не высшей степени сложности, я ее мог бы реализовать на том же Borland Delphi за пару минут с условием компиляции двух файлов и то там больше пришлось бы сделать действий, а Флэш уж точно предусматривает обращение между двумя флэш роликами.
Пожалуйста, приведите пример... я ознакомился с туториалом, но как использовать в своей задачи, понятия не имею :((((
Если нужны исходники, то я готов выложить их сюда.
Флэш уж точно предусматривает обращение между двумя флэш роликами.
через LocalConnection
Fernando Costa
11.05.2007, 14:50
Посмотри хелп по локал конекшн - там все элементарно просто. делается это все строк в 10
Fragmazter
11.05.2007, 14:58
через LocalConnection
А можно пример по моей теме? :o
а то туториалом лишь сыт не будешь. Я всего лишь хочу передать событие ОнКлик контрола "переменную со значением "стоп" допустим flash.swf?value1="stop"" из одного флэша другому , а тот(флэш, в котором создается тип Саунд и по умолчанию воспроизводит внешний звук) незамедлительно отключил звук, при условии , что сам находится совсем на другом фрейме, грубо говоря странице и его не видно, так как фрейм имеет 0 высоту, а ролик размером в 1х1.? Можешь помочь примерчиком??? :o
Посмотри хелп по локал конекшн - там все элементарно просто. делается это все строк в 10
хм.. ну покажи мне пожалуйста пример :o
Класс LocalConnection позволяет SWF роликам обмениваться данными без обращения к fscommand() или JavaScript. Объекты LocalConnection могут взаимодействовать только с SWF файлами, запущенными на том же самом компьютере, не взирая на то, принадлежат ли они одному приложению — например, SWF файл, запущенный в браузере и SWF файл, работающий в проекторе. Вы можете использовать объекты LocalConnection и для передачи данных в пределах одного ролика, но это нестандартное использование; все примеры в данном разделе демонстрируют возможности взаимодействия разных SWF файлов. мне бы примерчик, раз уж все так просто.
что такое lc_name - это путь / имя файла которому отправляем или что?
Fernando Costa
11.05.2007, 15:05
вот пример с книги Гурского
Fragmazter
11.05.2007, 21:56
вот пример с книги Гурского
Пасибо .
----------
аааа ... нет, у меня FlashMX :( файлы не открыть, пожалуйста выложи оба скрипта с тегом <CODE>. Большое спасибо.:(
Во Flash MX нет LocalConnection.
DarkLight
12.05.2007, 16:06
Во Flash MX нет LocalConnection.
А почему у меня в Библии Flash MX ActionScript глава 22 называется "Объекты Shared Object и LocalConnection"?:)
в хелпе Availability: ActionScript 1.0; Flash Player 6
насколько я помню, они просто были недокументированы какое-то время
Ах да, это я с ExternalInterface спутал.
насколько я помню, они просто были недокументированы какое-то времяУ К. Мука это класс был описан.
Fragmazter
12.05.2007, 22:13
Млин, я надеялся, что мне тут серьезно помогут =(
Ребят, кто серьезно и хорошо знаком с AS, я же не прошу разработать сайт, а всего лишь прошу объяснить "как" или привести прямой пример, я благодарен тем, кто привел явные пример, но к сожалению, я не на стока знаком с данным скриптовым языком, а более того, я хотел бы выслушать "Fernando Costa", не флудите пожалуйст...
Fragmazter
12.05.2007, 22:14
"ExternalInterface"?! Ведь это не то, что мне нужно.
http://flasher.ru/forum/showthread.php?p=622583#post622583
Хелп по 7-ке, по-русски, LocalConnection там есть - и в 6-м оно тоже должно работать.
Только уберите типизацию ( :String и т.п.)
ExternalInterface вам точно не нужен, тем более что он доступен с 8-ки.
Mr. Fixit
13.05.2007, 02:48
да LocalConnection кажется страшным словом, но на самом деле в немм можно разобраться "вдосталь" за час))
"ExternalInterface"?! Ведь это не то, что мне нужно.
А я его и не предлагал, собственно.
Fragmazter
13.05.2007, 17:43
То есть, например, допустим, что в получателе "flashmp3.swf", я должен написать что-то вроде:
var LocCon:LocalConnection = new LocalConnection();
LocCon.methodToExecute = function(Mode:String) {
if (Mode == "pause") {
mp3.Pause;
}};
LocCon.connect("flashcotnrols.swf");
так?
а в отправителе "flashcontrols.swf":
var LocCon:LocalConnection = new LocalConnection();
LocCon.send("mode", "methodToExecute", 5, 7);
:o
Fragmazter
13.05.2007, 17:49
что выступает в качестве имени соединения "lc_name", передаваемый параметр пути к файлу SWF? или что-то конкретное? мне сложно освоица в синтаксисе, так как пишу под другим языком, помогите пжалуйст разобраться. Где следует указать путь к файлу flashmp3.swf? Как передать переменную Mode, чтобы та в свою очередь поняла и получив оную приступила к выполнению определенного действия?
Я муть написал постом ранее, к сожалению...
Нужно реализовать что-то вроде:
Отправитель "flashcontrols.swf":
if BtnPauseClicked then Send("flashmp3.swf?mode=pause");
if BtnPlayClicked then Send("flashmp3.swf?mode=play");
и т.д. по событиям нажатым во флэше Flashcontrols.swf.
А в приемнике "flashmp3.swf" (по умолчанию воспроизводится) при нажатии на кноку допустим BtnPauseClicked во Флеш "flashcontrols.swf", воспроизведение звука приостанавливается "пауза". При этом учитывается, что не смотря на то, что Флэш в одном поддомене и директории с flashcontorls.swf, сам он находица в соседнем фрейме (сделано, чтобы при переходе по страницам , звук не сбивался, а то что контрол-флеш обновляется, без разницы). "Flashmp3.swf" выступает в данном случаи, как скрытый от глаз пользователя компонент, он его не видит, но может управлять с флеш-контрола на странице с контентом.
if (mode="pause") then mp3.pause;
if (mode="play") then mp3.play;
------------
Собсно, как это реализовать во флеш при помощи средств Action Script, типа LocalConnection???
Fragmazter
16.05.2007, 01:50
По cl_name Flash определяет все Флэшки на странице?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.