|
|
|||||
Конструирование музыки
Зраствуй почтенный Программер и All публика
Столкнулся с проблемой и долго об неё бился. И эта, неплюйтесь на код знаю можно и по короче написать. Но так проще редактировать. Далее код // lo1 = new Sound(l1); lo2 = new Sound(l2); lo3 = new Sound(l3); dls = new Sound(dls); dh1 = new Sound(dlh1); dh2 = new Sound(dlh2); //Ну это понятно новые объекты// lo1.attachSound("loop1"); lo2.attachSound("loop2"); lo3.attachSound("loop3"); dls.attachSound("dls"); dh1.attachSound("dlhach1"); dh2.attachSound("dlhach2"); //присваиваем звуки// // lo1.setVolume(0); lo2.setVolume(0); lo3.setVolume(0); dls.setVolume(0); dh1.setVolume(0); dh2.setVolume(0); //выставляем громкость звуков// // lo1.start(0, 9999); lo2.start(0, 9999); lo3.start(0, 9999); dls.start(0, 9999); dh1.start(0, 9999); dh2.start(0, 9999); //и запускаем их все стазу// // //! кстати вопрос можно ли проигрывать сразу более 7 звуков одновременно? а то затыкает предыдущие 8 звук// // sCv = function (s, v, p) {//s-какой звук v-его громкость p-его позиция право лево// s.setPan(p)//право лево// s.setVolume(v)//громкость// }//функция позиционирования и громкости звуков// // tt=0 //переменная такта// // function music() {//функция отсчёта такта и изменение параметров звуковых обьектов с учётом такта// tt=tt+1//считем какой такт// if (tt == 36){//Музыкальная композиция ограничивается 36ю тактами// tt=14//если то вовращаемся к такту 14// sCv(lo2,0,0) sCv(lo3,0,0) sCv(dls,0,0) sCv(dh1,0,0) sCv(dh2,0,0)//и обнуляем громкость и позицию звуков// } if (tt >= 0){sCv(lo1,100,0)} //и сбственно в каждем такте меняем ирающимся звукам громкость и позицию// if (tt >= 2){sCv(lo2,100,100)} if (tt >= 4){sCv(lo3,100,-100)} if (tt >= 6){sCv(dls,100,0)} if (tt >= 8){sCv(dh1,100,0)} if (tt >= 10){sCv(dh1,100,-100)} if (tt >= 10){sCv(dh2,100,100)} if (tt >= 12){sCv(dls,0,0)} if (tt >= 16){sCv(lo1,0,0)} if (tt >= 16){sCv(lo2,0,100)} if (tt >= 16){sCv(lo3,0,-100)} if (tt >= 16){sCv(dls,100,0)} //..// //..// //..// if (tt >= 70){sCv(dh2,100,-100)}//надо будет сократить форму ввода данных пока так проблема не в этом// if (tt==10){ clearInterval(musictact) musictact = setInterval(music,2649) }//пытался выравнивать такты бесполезное занятие проще подогнать звуки// } // musictact = setInterval(music,2630) //ну и собственно запускем скрипт музик с интервалом// Конец кода Собственно цель понятна - минимум kb максимум музыкальной отдачи. А проблема в том что пока не трогать и сидеть слушать музику всё работает. переключаемся в другую задачу и такт сбивается. Может есть другие варианты как осуществить данную идею. Мне просто сказал по секрету один програмист что бесполезно мол какая то обектность среды виндовс и собс самой flash технологии непозволит Я долго горевать не стал бюсь опять. Нехочется отступаться от идеи. ХЛП ПЛЗ. Должен же быть выход. Сампл прилагается |
|
|||||
.
|
Последний раз редактировалось dimarik; 22.10.2004 в 03:32. |
|
|||||
Неужели, dimarik всё это прочел/ла???
|
|
|||||
Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
|
Цитата:
__________________
кто ищет - тот всегда найдёт.... и горло перережет :D |
|
|||||
THX
Спасибо за ответ Усё понятно и пока вопросов нету
|
|
|||||
бравузебал копи
хотя есть вопросец но оффтоп Можноли весь форум как нибудь стырить? Чтоб на досуге просматривать и лишних вопросов не задавать. сорри за офф.
|
Часовой пояс GMT +4, время: 08:37. |
|
« Предыдущая тема | Следующая тема » |
|
|