Показать сообщение отдельно
Старый 07.03.2015, 16:33
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 3  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
Чтобы все, кто работает вопреки остановки старлинга, ничего не делали, пока приложение не активируется
В смысле, "больше" ничего не делали.
Если играет фоновая музыка, это ее не остановит. Опять же, например, полет ракеты через весь экран со звуком - сворачиваем приложение, анимация стопится, звук доигрывает, разворачиваем приложение - ракета летит в совершенной тишине.

Так что я сейчас фактически размышляю, на каком уровне размещать функционал. В частности для звука:

1. Вместо стандартного Sound сделать свой FreeseSound (унаследованный от Sound), который при создании автоматически подписывается на FreeseDispatcher.instance и слушает от него события FREEZE/UNFREEZE, по которым соответственно останавливает/запускает звук. Придется предусмотреть деструктор, в котором отписываться от диспетчера.

или

2. Сделать единый FreezeSoundRegister, в котором регистрировать при запуске те звуки, которые требуют заморозки (например, звуки кликов по кнопкам фризить не надо) и уже в нем останавливать/запускать все зарегистрированные звуки оптом. Снимать регистрацию для звуков ручками в коде либо автоматически по событию COMPLETE, если звук одноразовый.