Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Зациклить звук (http://www.flasher.ru/forum/showthread.php?t=105263)

roman78 11.12.2007 18:38

Зациклить звук
 
По уроку с http://www.flashblog.ru/?p=208 сделал загрузку саунда (с регулятором громкости):
Код:

// Создаём экземпляр класса Sound
my_sound = new Sound();
// Загружаем нужный звук
my_sound.onLoad = function() {
        // Запускаем звук
        my_sound.start();
};
my_sound.loadSound("sound.mp3", true);
// При нажатии на ползунок
reg.sl.onPress = function() {
        // Таскаем ползунок в заданной области
        this.startDrag(false, 0, 0, 200, 0);
        // При движении мыши при нажатом ползунке
        this.onMouseMove = function() {
                // Задаём переменную для хранения громкости звука
                var vol = this._x/200*100;
                // Задаём громкость
                my_sound.setVolume(vol);
                updateAfterEvent();
        };
};
// При отпускании ползунка
reg.sl.onRelease = reg.sl.onReleaseOutside=function () {
        // Прекращаем перетаскиваие
        this.stopDrag();
        // Убиваем onMouseMove за ненадобностью
        delete this.onMouseMove;
};

а как его зациклить что б в фоне проигрывался не соображу, подскажите плз

iNils 11.12.2007 18:46

Посмотреть в хелпе аттрибуты метода start класса Sound :)

roman78 11.12.2007 21:15

Цитата:

my_sound.start([secondOffset, loop])
я пробовал писать
Код:

my_sound.start(loop);
и
Код:

my_sound.start(10, loop);
и
Код:

my_sound.start(10, 10);
и
Код:

my_sound.start(10, loop=10);
но легче не становится - играет 1 раз.

офсет срабатывает, а луп нет. Подозреваю что он там и не должен работать ибо не подсвечивается как остальные слова. Что я делаю не так?

Ostgur 11.12.2007 21:31

вы парите себе мозг, код для бесконечного лупа
Код:

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

удач ;)

roman78 11.12.2007 21:51

Ostgur, спасибо, хороший вариант.
Правда возникает задержка в полсек, но это уже работоспособно, да и при ином варианте не факт что ее не будет.

Ostgur 11.12.2007 22:05

задержка всегда будет, это глюк AS2, исправить можно урезанием музыки на ту самую задержку, потом делаем у этой музыки грокость на 0 и сохраняем под файл с именем super_mega_muzika_looping. Грузим её во флэш с именем my_sound_looping, запускаем одновременно и my_sound.start(); и my_sound_looping.start();. но, исправляем обработчик на этот
Код:

my_sound_looping.onSoundComplete = function() {
my_sound.stop();
my_sound.start();
my_sound_looping.start();
};

Удачи ;)

etc 11.12.2007 22:29

Код:

my_sound.start(0, 99999999);

roman78 12.12.2007 15:38

__etc, увы, не работает у меня такая конструкция (флеш цс3)

etc 12.12.2007 15:52

Не может быть.

Ostgur 12.12.2007 16:28

Вложений: 1
Цитата:

__etc, увы, не работает у меня такая конструкция (флеш цс3)
Код:

my_sound.start(0, 99999999);
всё работает, вот пример сделал даже.


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

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