Установка на паузу звука при сворачивании приложения на мобильных
В игрушке устанавливаю бесконечно повторяющийся фоновой звук, на десктопах логично, что свернутое окно продолжает работать и воспроизводит звук, но на мобильных при переключении на другое приложение, в предыдущем следует отключать звук и ставить игру на паузу (если, конечно, речь не о музыкальном плеере). Есть возможность простым способом отловить перемещение приложения в фон, чтобы поставить игру на паузу, либо, хотя бы выключить звук?
На данный момент представляю себе только способ с переназначением java функций для андроид, где перехватывать событие onPause.
Нашёл готовую функцию для выхода звук в V-Play http://v-play.net/doc/vplay-backgroundmusic/ однако это является проприетарным ПО.
Как вариант для себя вижу в AndroidManifest.xml установить, чтобы приложение закрывалось при переключении, что заодно будет и выключать звук, а состояние игры хранить и при повторном запуске игры восстанавливать.
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
- molni99
- 26 жовтня 2024 р. 01:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
- molni99
- 26 жовтня 2024 р. 01:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20бали,
- Рейтинг балів-10
Нужно использовать переназначение java функций. Правда, лично я так и не добрался до этого. Сейчас занимаюсь разработкой под десктоп.
С AndroidManifest.xml не вижу смысла такое делать. Если маленькая игра, то хранить состояние ещё можно, а если проект тяжеловесный, то это изначально провальный путь.
Здесь даже есть пример работы из QML.
Надо лишь определять, является ли устройсво мобильным и при сворачивании ставить музыку на паузу)
Оказалось, можно даже не делать проверку на тип устройства. Статус 0 (остановлен) я поймал только на андроид, в десктопной системе только 4 (работает) и 2 (пауза) используется.
Поэтому достаточно подобного кода: