Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Advanced (http://www.flasher.ru/forum/forumdisplay.php?f=4)
-   -   LoadMovie и Sound Objects (http://www.flasher.ru/forum/showthread.php?t=52100)

Buryat 29.11.2003 06:48

LoadMovie и Sound Objects
 
При загрузке клипа, собранного из sound objects при помощи AttachSound в другой клип, звук не запускается. Не могу понять в чем дело - отдельно работает, со звуком на time line тоже... Что я мог сделать неправильно?

Dimonius 01.12.2003 15:24

Возможно потерялись пути.

Buryat 02.12.2003 03:04

Спасибо, Demonius. Я уже сделал по другому. Но возник еще вопрос: может ли Flash давать "щели" между loops из MP3 при большой нагрузке? Никто не замечал чего-то такого? Мой композитор утверждает, что стыки чистые, но ухо говорит о другом...

dee2 02.12.2003 13:46

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

Buryat 03.12.2003 02:57

Спасибо, dee2!
Все так и есть, но тогда я снова вынужден вернуться к тому, с чего начал.

Как я понял, единственный способ нормально работать с большим количеством лупов - это attachSound, но при загрузке такого клипа в другой - звук исчезает, как и не было. Графическая часть на месте. Вот, что предлагают другие, но это не годится - во первых не работает, во вторых Flash на этом виснет и падает.

Frame 1:
_level1.loadMovie("url_to_external.swf");

Frame 2:
// check that enough of the external SWF is loaded
// to create a movie clip object for _level1.
if(typeof _level1 == "movie clip") {
// jump out of loop and create the Sound Object.
gotoAndPlay(4);
}

Frame 3:
// loop back and check condition again
gotoAndPlay(2);

Frame 4:
// create the Sound Object now that the _level1 movie clip object exists.
mysound = new Sound(_level1);

Господа, кто сталкивался с такой проблемой, поясните, что происходит? Это же какой-то ужас... Если attachSound не работает c loadMovie, то как тогда вообще можна всерьез работать со звуком?

dee2 03.12.2003 12:32

вообще то, грамотную работу с лупами во flash представить себе сложно...
есть идея - не пробовал, но в принципе должно работать
если тебе нужно подменить один луп на другой, то прежде всего не стоит делать этого в одном swf или mc или object

1. Грузим первый луп (желательно swf в отдельный level)
2. Грузим второй ---//---
3. При подтверждении полной загрузки второго лупа вычисляем момент переключения одного лупа в другой миллисекундах (зависит от bps композиции). Запускаем второй, останавливаем 1.
4. И тд

А ещё где-то, не помню где, когда и почему я слышал, что если звук привязывать к таймлайну, то его лучше выставлять во 2 фрейм и запускать с 1. Это помогает лучше синхронизировать звук, т.к. на 1 фрейме он слегка, но непредсказуемо подтормаживает

и ещё: в принципе, если знать точно размер пустого блока перед началом mp3 (а в общем случае, он для каждого файла индивидуален), то можно попробовать зациклить луп программно и стартовать его не с начала, а со смещением на это значение

Buryat 05.12.2003 02:39

Всем спасибо!

Враг заходит в город, пленных не щадя,
Потому, что в кузнице не было гвоздя...

Вот этот гвоздь: loop_01 = new Sound(this)

Сложный sound track (15-20 файлов) монтируем в отдельный swf при помощи attachSound и оформляем каждый loop как Sound Object. Затем описываем последовательность при помощи mySound.start и onSoundComplete. Подгружаем это все в основной swf при помощи loadMovie (каждый такой трек на свой _level). onSoundComplete и tellTarget дают полную интерактивность и полное взаимодействие обоих swf.

Но до этого "this" еще же нужно додуматься! Хорошо хоть скобки есть - можно догадаться, что нужен дополнительный параметр. Эта команда отправляет Sound Object на основной time line и звук больше не "теряется"...

ilya_cat 05.12.2003 11:12

Кусок из хелпа (русскоязычного, от VM Studio):
Sound (object)

Объект Sound позволяет управлять звуком в фильме. Вы можете добавлять звуки к мувиклипу из библиотеки, в то время как клип воспроизводит и управляет этими звуками. Если Вы не определяете адресата (target), когда создаете новый объект Sound, можно использовать методы управления звуком для целого фильма. Необходимо использовать конструктор new Sound, чтобы создать экземпляр объекта Sound перед использованием методов объекта Sound.


Синтаксис


new Sound([target])
Параметры


target Экземпляр мувиклипа, с которым работает объект Sound. Этот параметр является необязательным.


В общем, RTFM

А скобки есть у всех функций во флеше, независимо от числа переменных - это вам не Паскаль


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

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