Установка на паузу звука при сворачивании приложения на мобильных
В игрушке устанавливаю бесконечно повторяющийся фоновой звук, на десктопах логично, что свернутое окно продолжает работать и воспроизводит звук, но на мобильных при переключении на другое приложение, в предыдущем следует отключать звук и ставить игру на паузу (если, конечно, речь не о музыкальном плеере). Есть возможность простым способом отловить перемещение приложения в фон, чтобы поставить игру на паузу, либо, хотя бы выключить звук?
На данный момент представляю себе только способ с переназначением java функций для андроид, где перехватывать событие onPause.
Нашёл готовую функцию для выхода звук в V-Play http://v-play.net/doc/vplay-backgroundmusic/ однако это является проприетарным ПО.
Как вариант для себя вижу в AndroidManifest.xml установить, чтобы приложение закрывалось при переключении, что заодно будет и выключать звук, а состояние игры хранить и при повторном запуске игры восстанавливать.
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.Magst du es? In sozialen Netzwerken teilen!
Kommentare
- sdfsdfkp fgskpgokspdog
- 14. Oktober 2024 15:09
C++ - Тест 004. Указатели, Массивы и Циклы
- Ergebnis:90punkte,
- Bewertungspunkte8
- Максим Васильев
- 2. Oktober 2024 04:14
Qt - Тест 001. Сигналы и слоты
- Ergebnis:68punkte,
- Bewertungspunkte-1
- Лев Семенов
- 30. September 2024 11:04
C++ - Тест 001. Первая программа и типы данных
- Ergebnis:53punkte,
- Bewertungspunkte-4
Нужно использовать переназначение java функций. Правда, лично я так и не добрался до этого. Сейчас занимаюсь разработкой под десктоп.
С AndroidManifest.xml не вижу смысла такое делать. Если маленькая игра, то хранить состояние ещё можно, а если проект тяжеловесный, то это изначально провальный путь.
Здесь даже есть пример работы из QML.
Надо лишь определять, является ли устройсво мобильным и при сворачивании ставить музыку на паузу)
Оказалось, можно даже не делать проверку на тип устройства. Статус 0 (остановлен) я поймал только на андроид, в десктопной системе только 4 (работает) и 2 (пауза) используется.
Поэтому достаточно подобного кода: