Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   не могу запустить swf (http://www.flasher.ru/forum/showthread.php?t=141140)

workmama 17.06.2010 10:16

не могу запустить swf
 
Понимаю что очень идиотский вопрос - но как мне запустить swf на компе, на котором не установлен флэш.

У меня сделана флэшка в CS4 - на моем компе проигрывается все ок, но загвоздка в том что нужно ее запустить на чужом компе - какие только плэйеры на качали - не подхватываются swf файлы!!

Структура работы там тоже не простая - запускается exe , который в себя подгружает swf с видео flv. На моем компе все проигрывается - видео видно, на других просто не открывается - пустая страница на месте видео - swf-ка туда не грузится и не играет.

В путях дело быть не может - я переносила папку с этим файлом в разные места - все открывалось. Сделала вывод что не хватает какой-то программулины - но вот какой??

mooncar 17.06.2010 10:23

То есть вы проект в exe-шник скомпилировали и он не отображает видео? А видео в свою очередь, загружается в swf, которую exe-шник тоже загружает?
Никакой программулины не хватать не может. Флешка, скомиленная в exe, самодостаточна, ведь флеш-плеер уже внедрен в нее.
Я делал аналогичные проекты с видео, именно по такой же схеме, у всех все работало.
Может какие-то проблемы с асинхронностью? swf-ку вы грузите с помощью MovieClipLoader'a?

workmama 17.06.2010 10:34

именно такая схема. Я бы видео загружала в сам ехе но поскольку он и так большой - флэш туда уже не вставляет ни в какую, поэтому пришлось эту канитель с промежуточным swf делать.

я гружу вот так ее

loadMovie("1.swf", mov);

других способов не знаю

mooncar 17.06.2010 10:49

Попробуйте сделать так:

1) Делаете новую swf-ку для видео. И даже не "для видео", а "с видео" внедренным.
То есть при импорте выберите не "Progressive download from server", а "Embeded video.."
Теперь у вас видео будет не подгружаться, а непосредственно внедрено в swf-ку, растянув ее таймлайн.
Воспроизведение-остановка ролика будет напрямую зависеть от проигрывания этого таймлайна.
Попробуйте грузить теперь ее.

2) Но кажется мне, что все косяки у вас не из-за этого, а все же из-за асинхронности.
Перепишите загрузку в exe-шник с loadMovie() (котороый вообще нельзя использовать из-за кривизны своей) на загрузку с помощью MovieClipLoader.
Опишу для ActionScript 2.
Создаете пустой мувик-контейнер для загрузки, например, cont_mc (можно програмнно, через createEmptyMovieClip(), можно руками, но тогда сместите центр так, чтобы он был в левом верхнем углу контейнера). Далее:

Код AS1/AS2:

var mcLoader:MovieClipLoader = new MovieClipLoader;
var listener:Object = new Object();
mcLoader.addListener(listener);
listener.onLoadInit = function (trgt:MovieClip) {
    //только отсюда можно начинать выполнять любые дальнейшие действия с загруженным
    //контентом или дальнейшие действия на основной сцене, которые зависят от загруженности ролика,
    //имея ввиду, что аргумент trgt ссылается на cont_mc
    //то есть trgt == cont_mc == 1.swf
    //например:
    //trgt.play();
}
mcLoader.load('1.swf', cont_mc);


workmama 17.06.2010 11:04

1 способ - некоторые мои флэш-видео он не импортирует так как не нравится какой-то аудио кодек ему. Один файл импортировать но опубликоал не полностью так как длина больше 16000 кадров.

2 способо - а где текст малиновым что написать надо?? У меня при таком способо swf загружается вроде в файл но видео так же не идет.

mooncar 17.06.2010 11:12

Где "малиновое" - это место, из которого все дальнейшие действия можно производить, связанные с видео.

Я бы вот что еще посоветовал попробовать. Надо локализовать проблему. Может быть дело в видео.
Забудьте об exe-шнике вашем. Создайте чистый новый проект, однокадровый. Сделайте в нем загрузку, как я указал и грузите туда вашу swf-ку с подгружаемым видео. Поверьте теперь, что получится.
Просто есть у меня мысли, что у вас может быть не так, но расспрашивать долго и бессмысленно, попробуйте в новом однокадровом проекте.

workmama 17.06.2010 11:13

сейчас попробую
но что писать вместо малинового текста я все равно понятия не имею

mooncar 17.06.2010 11:16

напишите там
Код AS1/AS2:

trace('Загрузилась swf-ка!!!');

Надо понять смысл обработчика onLoadInit.
А смысл такой - этот обработчик четко определяет момент загрузки.

workmama 17.06.2010 11:17

ничего не выходит потому что я не знаю что писать вместо текста этого малинового, и в однокадровый тоже не подгружается swf ка уже с внедренным видео и просто swf-ка ,подгружающая в себя flv тоже.

Добавлено через 57 секунд
если туда трэс ставлю - он не появляется - загрузки не происходит вообще таким способом

mooncar 17.06.2010 11:19

trace выводит что-либо?
Может ошибки какие-то появляются?
Если не выводит, значит сама загрузка не происходит. Почему - надо разбираться.
Разумеется, чтобы был доступен trace, нужно тестить все в программе.

PS Сори, у вас вообще в настройках стоит AS2?


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

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