PDA

Просмотр полной версии : Flash и звуки!!!


uerter
21.07.2004, 01:01
Народ может кто может посоветовать, или лучше исходник дать!!!
Итересует как можно на флешке .. и в принцепе можно ли ... зделать воспроизведени звукового файла при том таким образом чтобы когда идет конец воспроизведения одного файла начиналось бы воспроизведение следующего файла... так сказать налаживание звуов... притом первого шло затухание а второго возрастание звука......

RaveN
21.07.2004, 01:20
Затухание/возрастание можно сделать в любом звуковом редакторе, а в флешку звук вставляется через библиотеку (сначала импорт в библиотеку, потом перетаскивание на рабочую область).

uerter
21.07.2004, 02:08
ну неее, у меня вот такая задача.... а должен при помои скрипта управлять 2 или более звуковых файлов!!!... которых я буду загружать из вне!...

Axi
21.07.2004, 19:31
наверное можно, но первое что мне приходит в голову это вставлять мп3 в свф и грузить уже мувики в конце которого стоит _глобал скрипт на активацию следующего мувика, отсимплировать затухание можно тоже во флеше, если обьяснишь идею более подробно можно будет придумать что то

uerter
22.07.2004, 00:21
смысл такой: беру и загружаю в мувик пм3 и начинаю проигрывать, за 10(лопустим) сек. до конца я начинаю проигрывать другой мп3, НО эти 10 сек я сам задаю ... и мп3 файлы тоже задаю...
надеюсь ясно...

svizy
22.07.2004, 03:24
uerter
для накладки звука можешь попробовать такой способ.
Сначала мувика, в АS задай такие параметры length1, length2, fade_sec, где значением будут цифры (секунды). В первом фрейме пишешь функции :
init = function () {
length1=60; // 1 minuta
length2=30;
fade_sec=10; //10 sekund nakladki zvuka
createEmptyMovieClip("sound1", 1);
sound1.loadMovieClip("sound1.swf");
start_timer= getTimer();
}

this.onEnterFrame = function () {
timer_now=getTimer();
if ( ((timer_now-start_timer)/1000)>fade_sec) {
trace("igraju 1'vyi zvuk");
} else {
createEmptyMovieClip("sound2",2);
sound2.loadMovieClip("sound2.swf");
delete this.onEnterFrame;
trace("igraju vtoroi zvuk");
}
}
init();
stop();

Если захочешь сделать управление с fading большего количества файлов- надо будет написать функцию, которая динамически создаст объекты с загружаемыми swf.
Что касается затухания и возрастания- надо импортировать в библиотеку звуки, в их опциях выбрать "export in first frame", там же задать им название для AS и написать сл. код:


fade_out=10;
fade_in=10;
length1=60;
length2=30;
init_first_sound = function () {
sound1 = new Sound("zvuk1");
sound1.start();
first_timer = getTimer();
}

init_sec_sound = function() {

sound2= new Sound("zvuk2");
volume_plus = length2/fade_in;
sound2.setVolume(0);
sound2.start();
sec_timer=getTimer();
this.onEnterFrame = function () {
if ((getTimer()-sec_timer)/1000<fade_in) {
this.setVolume+=volume_plus;
} else {
this.setVolume(100);
delete this.onEnterFrame;
}
}
}

init_first_sound();

this.onEnterFrame = function () {
volume_minus = length1/fade_out;

if ((getTimer()-first_timer)/1000<=fade_out) {
sound1.setVolume-=volume_minus;
if (sound1.setVolume<10) {
init_sec_sound();
delete this.onEnterFrame;
}
}
}
stop();

Не проверял, пишу по-быстрому с памяти, но думаю что работать будет и общая идея ясна.
JaP jr.

uerter
23.07.2004, 15:18
первый скрипт, нормальный но он мне немножко не подходит, вот второй лучше... но вот только что-то он не пашет....... вроде сделал все так как надо.... все параметры задал ... и не хочет.... (((
подскажи как это сделать? :молись: :)

svizy
24.07.2004, 05:32
uerter
вроде сделал все так как надо.... все параметры задал ... и не хочет
Думаю, если ты воспользуешься debugger, то второй скрипт заработает- проверять мне просто некогда...
Вот еще один скрипт-метод для объекта sound.

sound1= Sound.createNewSound();
sound1.loadSound("zvuk1.mp3");
zvuk1_duration=120; //2 min
start1 = function () {
sound1.start();
aktual_vol=100;
sound1.setVolume(akual_vol);
minus_vol=Math.ceil(zvuk1_duration/sek);
init_timer=getTimer();
}
sound.prototype.monitorTime = function () {
this.actual_time = ((getTimer()-init_timer)/1000);
}

start1();
this.onEnterFrame = function () {
sound1.FadeOut(sek);
if (sound1.monitorTime>=zvuk1_duration) {
sound1.setVolume(0);
sound1.stop();
delete this.onEnterFrame;
}
}

sound.prototype.FadeOut = function (sek) {
this.monitorTime();
if (this.actual_time>=zvuk1_duration-sek) {
aktual_vol-=minus_vol;
this.setVolume(aktual_vol);
}
}


Этот же способ использовать и для fadein, немного изменяя код.

uerter
27.07.2004, 01:35
Ок, постараюсь.....
На этом пасибо большое! :beer: :yees:

Юлька
04.08.2004, 13:42
А как можно импортировать мп3 файл в библиотеку флеша? Когда пытаюсь сделать "import to library", он пишет что такой формат прочитать не может...
Что делат? Срочно надо!!!

У меня Flash MX 2004 professional

Если можно чего попросче без скриптов, буду рада, флеш недавно учу, в скриптах как некое животное в апельсинах :) :молись:

WMRomik
04.08.2004, 14:39
Либо это глюк флеша, либо mp3 не совсем mp3, например mp3pro...
у меня всё прекрасно импортируется в той же версии.

boor
04.08.2004, 14:44
Юлька
Странно мож у тя там с самим mp3 что то не так ну мож битый.
Ты всё правильно делаеш можно даже проста импортировать он в библиотеку впихнётся сам.
Правда у меня пока MX стоит всё работает на ура.
Ты попробуй другой мп3 импортировать если нармально то дело в файле.
:help:

Юлька
04.08.2004, 15:07
Всем спасибо, другой мп3 импортировался, а с тем проблемма оказалась - он на 22 минуты был, флеш от него глючить начинал...
Теперь другая проблемма:)
Музыка заканчиваться не хочет. Мне надо что бы на 190 фрейме она остановилась, а она не хочет:) Просто "стоп" пыталась поставить - не работает....
Спасибо заранее:)

boor
04.08.2004, 15:21
Юлька
Stop тут неработает проста stop управляет клипом и толька им а не звуками.
Значится вставь вот эту строчку
stopAllSounds();
и всё будет работать
и вставляй её хоть в первый хоть в 200 кадр :yees:

Юлька
04.08.2004, 15:36
Боор, а номер фрейма писать на надо?
Хотя у меня и так и так звук не останавливается...
Надо есчё что то добавить? :help:

___________________________________________________________
Все!!! Заработало!:)))
Спасибо огромное за помосч:))))) :yees:

boor
04.08.2004, 20:25
:yees: :yees:
Угу, пожалуйста, если что мы всегда, где, то тут рядом лазаем.
Так что если будут вопросы не стесняйся. :beer: :beer: :beer: :p