С Новым годом! Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для WarX
3 / 3 / 1
Регистрация: 11.11.2013
Сообщений: 27
AS 3.0

Воспроизведение нескольких разных звуков подряд

11.11.2013, 09:48. Показов 1416. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создаю хэш со звуком (взял в каком то примере)

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
                var mus = new Array() // Object();
        mus[0] = new music10(); 
        mus[1] = new music1(); mus[2] = new music2(); mus[3] = new music3(); 
        mus[4] = new music4(); mus[5] = new music4(); mus[6] = new music6(); 
        mus[7] = new music7(); mus[8] = new music8(); mus[9] = new music9(); 
        
        // Подфункция Музыки
        function PlayMus() {
            if (!OPT_MUS) return;   // запрет музыки в  Опциях
            
            var t:SoundTransform;
            t = new SoundTransform();
            t.volume = VOL_MUS / 100;
            
            // Вырубить все звуки (единственный способ оставновить импортированный звук)
            SoundMixer.stopAll();       
            
             var MaxMus = mus.length - 1
            var RndMus = Math.round(Math.random()*MaxMus)  // Номер от 0-макс
            
            CUR_MUZ = mus[RndMus]
            CUR_MUZ.play(0, 0, t);
            // (Начало (мс 1000 = 1с), Повтроы, Изменение)
            // mus[RndMus].play(0, 0, t);
            
            }
            
// mus[RndMus].onSoundComplete = PlayMus()
Задача сделать чтобы по окончании воспроизведения запустилась следующая мелодия
(Грубо говоря этаже функция)
Однако
.onSoundComplete = PlayMus() Почему то не отслеживает что звук ЕЩЕ НЕ закончился и в любых таймерах проверки запускает мелодию как будто она уже кончилась %)
Как сделать перезапуск мелодии без шаманства с Массивами длин песен ???
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2013, 09:48
Ответы с готовыми решениями:

Воспроизведение разных mp3 в одном кадре
Потребовалось разместить несколько разных mp3-файлов в одном кадре, которые запускались бы путем нажатия соответствующих кнопок. Код для...

Воспроизведение нескольких роликов с предзагрузкой и шифрованием
Отмечу, что я не являюсь флэш-программистом, поэтому незнаком с техническими нюансами флэша и его возможностями. Итак, задача. Есть...

Воспроизведение нескольких звуков одновременно
Доброго дня, друзья. Используется PlaySound с набором SND_FILENAME|SND_ASYNC|SND_LOOP. В это время не прерывая текущий звук нужно...

9
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
11.11.2013, 11:43
PlayMus() - это вызов функции, Вам же, как я понимаю, нужно сохранить ссылку на эту функцию и вызвать в дальнешем, поэтому:
ActionScript 3
1
mus[RndMus].onSoundComplete = PlayMus;
0
 Аватар для WarX
3 / 3 / 1
Регистрация: 11.11.2013
Сообщений: 27
12.11.2013, 08:48  [ТС]
Блин не помогает - так вообще не отслеживает.
Может чтобы OnComplite работал корректно - CUR_MUZ должен расширять какой то класс??
Подскажите что там со звуком связано кроме Саундтрансформа
0
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
12.11.2013, 10:30
Цитата Сообщение от WarX Посмотреть сообщение
Блин не помогает - так вообще не отслеживает.
так и не должен, вы же слушаетель не повесили
ActionScript 3
1
CUR_MUZ.addEventListener(Event.COMPLETE, onSoundComplete);
только не забудьте потом этот слушатель удалить

Цитата Сообщение от WarX Посмотреть сообщение
// Вырубить все звуки (единственный способ оставновить импортированный звук)
Кто Вам такое сказал ?
ActionScript 3
1
2
3
var snd:Sound = new Sound();
var channel:SoundChannel = snd.play();
channel.stop();
0
 Аватар для WarX
3 / 3 / 1
Регистрация: 11.11.2013
Сообщений: 27
12.11.2013, 10:47  [ТС]
Цитата Сообщение от Theoryofgames Посмотреть сообщение
Кто Вам такое сказал ?
Код ActionScript 3
1
2
3
var snd:Sound = new Sound();
var channel:SoundChannel = snd.play();
channel.stop();
Когда мучился с музыкой, для рандома надо было сделать через Массив, и команда stop выдавала ошибки. Да и мелодии то останавливал уже при чистке (Точнее загрузке следующего уровня) - стоп_ол оказалось реально полезным решением

Цитата Сообщение от Theoryofgames Посмотреть сообщение
1
CUR_MUZ.addEventListener(Event.COMPLETE, onSoundComplete);
Мысль понял, в четверг попробую
Пока понял что OnSoundComplite ни в какую не пашет ни с Sound ни с SoundChannal (Делаю в Adobe, сплошные маты)
0
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
12.11.2013, 12:24
Цитата Сообщение от WarX Посмотреть сообщение
Пока понял что OnSoundComplite ни в какую не пашет ни с Sound ни с SoundChannal
Да вроде бы и не должен...
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
12.11.2013, 13:28
WarX, разберитесь с тем какие объекты в какие моменты создаются и ссылки на какие из них у вас имются. Ну и официальная документация: там все с примерами.
0
 Аватар для WarX
3 / 3 / 1
Регистрация: 11.11.2013
Сообщений: 27
14.11.2013, 03:49  [ТС]
Совсем замучался %)
Походу рандомно так ничего не выйдет, либо не запускается, либо вечноциклится (Вечно звук закончен)
Так что буду мучить через массив длин песен.
Вопрос закрыт

Добавлено через 22 минуты
5 минут перелинков на таймер и все заработало как и думал
А хотелось сделать изящно, странно что в АС3 такая простая звуковая проблема %).
Событие onSoundComplete вроде как из АС2 насколько я понял
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
14.11.2013, 14:12
Цитата Сообщение от WarX Посмотреть сообщение
А хотелось сделать изящно
Для этого программа должна быть составлена изящно. А у вас судя по всему были ошибки.
0
 Аватар для WarX
3 / 3 / 1
Регистрация: 11.11.2013
Сообщений: 27
21.11.2013, 04:13  [ТС]
В том то и дело что для такого способа управления звуком ничего нет в языке
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2013, 04:13
Помогаю со студенческими работами здесь

Параллельное воспроизведение двух разных звуков
Помогите пожалуйста. Есть форма, на ней кнопки(на кнопках звуковые эффекты нажатия), при загрузке формы запускается музыка. Когда я...

Одновременное воспроизведение разных звуков (wav)
Товарищи,пишу программу,в которой одновременно воспроизводятся разные звуки. Сами же звуки запускать из ресурса (res или dll) по...

Воспроизведение нескольких звуков для игры
Как реализовать воспроизведение звуков, при нажатие кнопки, выйгрышной комбинации и т.д. Точнее, как это сделать знаю, вопрос через что это...

Воспроизведение нескольких mp3 подряд
как поочередно воспроизводить несколько мп3 файлов при нажатии кнопки?

Воспроизведение звуков
Доброго времени суток! Поскажите как мне воспроизвести 2 трека один-за-другим поджряд из ресурсов? А то меня хватило только на: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru