PDA

Просмотр полной версии : как зациклить стримленый звук без пауз?


tkaChuck
11.07.2008, 05:00
доброго времени, братцы.

имеем:

var backMusic:Sound = new Sound();
backMusic.loadSound("loop2.mp3", true);

и обходимся с этим таким образом:

backMusic.onLoad = function(success:Boolean) {
if (success) {
backMusic.start();
}
};

backMusic.onSoundComplete = function() {
backMusic.start();
};


когда луп доигрывает до конца, заново он играть начинает после некоторой задержки. скажите пожалуйста, как этого избежать?

хм, прикольно, пару топиков назад ктото уже спрашивал про лупы, и даже переменная у него тоже backMusic. это не я.

crazyone
11.07.2008, 12:07
Мне кажется, это у вас в самом mp3 задержка. Потому что флеш никакой задержки там не ставит.

iNils
11.07.2008, 12:12
Мне кажется, это у вас в самом mp3 задержка. Потому что флеш никакой задержки там не ставит.Сам флеш при внедрении wav в swf в формате mp3 вставляет звук без пауз, а обычные кодеки добавляют по 27 мс в начале и конце.

crazyone
11.07.2008, 13:01
Сам флеш при внедрении wav в swf в формате mp3 вставляет звук без пауз, а обычные кодеки добавляют по 27 мс в начале и конце.

Никогда не замечал. Наверное мне попадались звуки, зацикленные с логичной паузой в начала и конце, которая и прятала эти 27мс.
Если ровно 27 мс, тогда зацикливать так:
backMusic.onSoundComplete = function() {
backMusic.start(0.027);
};

Ну я не уверен по этому поводу, естсественно.

iNils
11.07.2008, 13:11
Никогда не замечал.Открыть любой mp3 тем же Sound Forge и посмотреть.
Если ровно 27 мс, тогда зацикливать так:
backMusic.onSoundComplete = function() {
backMusic.start(0.027);
};
Ну я не уверен по этому поводу, естсественно.onSoundComplete сработает после паузы в конце. Так что не выход.

Мне вообще не понятно, зачем грузить стримом. Чтобы сразу играло? Сейчас даже ролики все грузят до конца, а только потом запускают, иначе на медленных коннектах будут паузы.

djyamato
28.07.2008, 01:04
создавай 2 Саунда и миксуй их