Форум Flasher.ru

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

sasaindahouse 27.05.2007 09:24

Пауза в цикле. Странно!
 
Здравствуйте, проблема такова. Есть wav, в SoundForge его зациклил. Все чисто, хороший loop, без пауз. Импортирую его во флэш и вот тут начинаются проблемы: если зациклить (loop) sound вставленный в timeline, то все нормально, как только вместо него подгружаю этот же файл программно, то возникают паузы на стыках. В чем косяк? Может если программно, он как-то округляет миллисекунды? В SoundForge время суммарное показывает = 1:02,415. Может он прибавляет еще 0,585 секунды, чтоб добить до круглого числа? Срезать нельзя, иначе явно заметен стык будет, а программно подгружаю, т.к. нужно будет еще другие лупы по времени запускать. Как решить проблему? Помогите-е-е!!!

etc 27.05.2007 13:26

А в какой формат происходит экспорт wav-а внутри флеша?

Kikasso 27.05.2007 16:48

"Подгружаю программно" mp3? Порок формата. Внедрите wav в библиотеку, жмите в бмблиотеке как mp3, и пожгружайте флешку.

sasaindahouse 28.05.2007 02:33

Именно
 
Так ведь именно так и делаю. Знаю, что mp3-сжатие делает паузы. Эту проблему в проигрывании первым устранять научился Winamp (сорри за флейм). Поэтому в библиотеку я гружу именно wav и потом в свойствах выбираю метод сжатия mp3. Да хоть default ставлю - все-равно пауза присутствует. WMP тоже эту паузу делает почему-то (но это я думаю из-за времени загрузки - файл 10мб весит). Но вот в SoundForge все чисто. В чем проблема, не ясно. Попробую на америкосских ресурсах покопаться. Проблема специфичная. Сам в первый раз сталкиваюсь.

Kikasso 28.05.2007 02:47

Непонятно.
Так работает?
Код:

var snd:Sound = new Sound( _root);// ну или не рут
snd.attachSound( id );
snd.onSoundComplete = snd.start;
snd.start();


sasaindahouse 28.05.2007 03:34

Братцы, понял в чем косяк. Вот код:
Код:

var girl:Sound = new Sound();
girl.attachSound("girls2");
girl.start();
var girl2:Sound = new Sound();
girl2.attachSound("girls");
girl.onSoundComplete = function() {
girl2.start(0, 999999);
}

Так вот, цикл я исправил, раньше было так:
Код:

var girl:Sound = new Sound();
girl.attachSound("girls2");
girl.start();
var girl2:Sound = new Sound();
girl2.attachSound("girls");
girl.onSoundComplete = function() {
girl2.start();
girl2.onSoundComplete = function() {
girl2.start();
}

Простите дурака, только первый день код изучаю. Так вот, наличие function и дает паузу, то есть в первом, исправленном варианте цикла пауз нет, а в обоих вариантах есть пауза при переходе из объекта girl в girl2. Мне кажется, что именно из-за function'a. Или я не прав?

Kikasso 28.05.2007 03:48

По мне том вариант. что ты исправил, был нормальнее. Но если работает, то и хорошо.

sasaindahouse 28.05.2007 03:53

Так мне он тоже по душе, но function дает паузу, не знаете альтернативного запуска второй мелодии после onSoundComlete первой? Пожалуйста-а-а, помогите! Я уже так близко к разгадке.

Kikasso 28.05.2007 04:06

Так альтернативу вы и сами нашли. Работает, и отлично.
Можно попробовать распихать звуки по мувиклипам и стартовать с 0:
Код:

var girl:Sound = new Sound( createEmptyMovieClip('snd1', getNextHighestDepth());
girl.attachSound("girls2");
var girl2:Sound = new Sound( createEmptyMovieClip('snd2', getNextHighestDepth());
girl2.attachSound("girls");
function start2(){ girl2.start(0); }
girl.onSoundComplete = girl2.onSoundComplete = start2;
girl.start(0);


sasaindahouse 28.05.2007 04:56

Не, не помогает. Цикл girl2 работает нормально, а вот переход от girl к girl2 с паузой. А можно как-то с помощью position duration просто задать начало второй girl2 мелодии с n-ной секунды?

Что такое хорошо? 29.05.2007 11:12

вот тут я игрался с одной композицией РАДИОХЭД
Правда *.fla выложил без аудио-файлов.
У меня получилась звуковая дорожка длиною чуть больше минуты, а файл весил всего 100К.
Смотри. Может поможет.

MORE >>> http://www.flasher.ru/forum/showthre...t=85191&page=2

sasaindahouse 01.06.2007 04:14

Ребяты, спасибо, что возились с таким дураком как я. Все дело было в том, что я возился и искал ошибку во втором сэмпле, а она пряталась в первом, укоротил на 5 миллисекунд и все, заиграла музычка. Спасибо "Что такое хорошо" за наводку, интересная ветка форума.


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

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