Перейти к содержимому

Как отключить уменьшение громкости в андроид

  • автор:

Как отключить предупреждение о вреде долгого прослушивания аудио (Android)

Наверное, многие, кто слушает музыку (и не только) с Android-устройства, сталкивались с таким предупреждением:

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

Появляется оно только при прослушивании аудио через внешнее устройство (наушники/колонки). Для тех, кто не встречался с таким, небольшое пояснение: представьте, что вы слушаете музыку в наушниках, довольно громкую. Внезапно звук становится тише. Вы пытаетесь прибавить громкость, используя кнопки на корпусе, но не выходит. Достав устройство из кармана и сняв блокировку, вы и увидите такое предупреждение. Только после согласия с ним можно будет прибавить громкость обратно.

Да, предупреждение разумное, но появляется оно в непредсказуемый момент, иногда самый неподходящий: когда вы в общественном транспорте/за рулём/зимой на улице/когда у вас грязные руки и т.д. Доставать устройство, снимать блокировку, соглашаться с предупреждением, класть устройство обратно в этих случаях неудобно. А в случае, если подключены колонки, а не наушники, сообщение не совсем уместно.

Почему оно возникает

Данное предупреждение — не собственная инициатива авторов платформы. Всё дело в том, что существует WHO-ETU стандарт “безопасного прослушивания” (safe listening). В европейских и некоторых других странах его выполнение обязательно. В стандарте описывается, как долго можно прослушивать аудио в зависимости от громкости с минимальным риском снижения слуха. Например, для взрослого человека безопасная недельная “доза” звука — 1.6 Pa 2 h, что эквивалентно 20 часам прослушивания на громкости 83 dB.

Реализация

В зависимости от mcc (mobile country code), режим safe listening может быть включен или выключен. Определяется это значением ресурса R.bool.config_safe_media_volume_enabled .

Если режим включен, то система считает время прослушивания на небезопасной громкости (выше 85 dB), и периодически сохраняет значение в переменную Settings.Secure.UNSAFE_VOLUME_MUSIC_ACTIVE_MS . Когда значение достигает 20 часов, выводится предупреждение. После согласия с предупреждением значение сбрасывается, и подсчёт начинается заново.

Такая реализация довольно простая и не учитывает, например, в течение какого времени пользователь прослушал эти 20 часов: возможно, за пару дней, а, может, слушал по 6-7 минут в течение полугода (в соответствии со стандартом это не является угрозой для слуха).

Логика safe listening сосредоточена в классе классе AudioService.java, в нём можно увидеть соответствующие поля:

Поле mMusicActiveMs содержит число миллисекунд, прослушанных пользователем на небезопасной громкости со времени последнего подтверждения диалога. Начальное значение загружается из переменной Settings.Secure.UNSAFE_VOLUME_MUSIC_ACTIVE_MS . В эту же переменную каждую минуту записывается новое значение mMusicActiveMs.

Также есть поле mSafeMediaVolumeState , оно содержит текущее состояние системы safe listening:

  • DISABLED : отключена
  • ACTIVE : включена, и при этом лимит прослушивания достигнут, а значит нельзя разрешать пользователю увеличивать громкость, пока он не согласится с предупреждением
  • INACTIVE : включена, лимит пока не достигнут

Метод проверки превышения лимита выглядит так:

Как отключить предупреждение

Чтобы выключить safe listening, нужно добиться того, чтобы переменной mSafeMediaVolumeState на этапе конфигурации было присвоено значение DISABLED .

Посмотрим, где изначально задаётся значение:

Видим, что помимо значения ресурса R.bool.config_safe_media_volume_enabled , есть два свойства, позволяющих включать/выключать систему safe listening: audio.safemedia.force и audio.safemedia.bypass.

Чтобы отключить предупреждение, нужно установить значение audio.safemedia.bypass=true в файле system/build.properties. Но для этого нужны root-права. Если их нет, то нужно разбираться дальше и искать другой способ.

Как отключить предупреждение без root

Давайте посмотрим, что происходит при закрытии диалога с предупреждением по нажатию ОК, и попробуем это воспроизвести:

Вызывается метод disableSafeMediaVolume у инстанса AudioManager .

Он помечен аннотацией @hide . Это означает, что метод не будет включён в public API несмотря на модификатор public. До Android 9 это легко можно было обойти используя рефлекшн. Теперь же такой метод по-прежнему можно вызывать, но уже с помощью трюка под названием double-reflection:

Вызов заканчивается исключением
java.lang.SecurityException: Only SystemUI can disable the safe media volume: Neither user 10307 nor current process has android.permission.STATUS_BAR_SERVICE.
Разрешение STATUS_BAR_SERVICE имеет protectionLevel=«signature|privileged», получить его не получится.

Что ж, тогда попробуем так. Мы будем следить за переменной Settings.Secure.UNSAFE_VOLUME_MUSIC_ACTIVE_MS , в которую периодически сохраняется текущее значение mMusicActiveMs . Когда значение начнёт приближаться к 20 часам, будем его сбрасывать. Затем нужно будет сделать так, чтобы AudioService прочитал новое значение из настроек.

Прочитать значение Settings.Secure.UNSAFE_VOLUME_MUSIC_ACTIVE_MS можно так:

То же самое, используя adb:

А чтобы записать значение, приложению потребуется разрешение android.permission.WRITE_SECURE_SETTINGS .

Оно имеет protectionLevel=«signature|privileged|development», а значит его можно выдать приложению используя adb:

Само значение записать можно так:

То же самое можно сделать с помощью adb:

Сбрасывать лучше в 1, как это сделано в AudioManager, а не в 0. Так как 0 соответствует состоянию ACTIVE.

Теперь нужно, чтобы AudioService прочитал новое значение, и обновил значение локальной переменной mMusicActiveMs .

Есть подходящий метод в AudioManager.java

Он инициирует вызов метода readAudioSettings в AudioService , где происходит загрузка mMusicActiveMs из настроек.

Метод помечен аннотацией @hide . Его вызов с помощью double-reflection вызывает исключение:
java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
Да, аннотация @hide здесь тоже неспроста. Получить данное разрешение мы, конечно не можем. Оно имеет protectionLevel=«signature|installer».

Остаётся один способ заставить AudioService прочитать новое значение — его перезапуск. Просто так перезапустить системный сервис нельзя. Нужно или перезагрузить устройство, или переключиться на другого пользователя, а затем вернуться обратно.

Теперь настало время проверить теорию.

Устанавливаем unsafe_volume_music_active_ms = 71 990 000 (останется 10 секунд, в течение которых можно прослушивать музыку на высокой громкости)

Перезапускаем устройство (можно вместо этого переключиться на другого пользователя, а потом вернуться):

Подключаем наушники, включаем музыку погромче. В течение минуты появляется диалог.

Теперь повторяем те же действия, но присваиваем unsafe_volume_music_active_ms = 1. Включаем музыку, ждём минуту. Диалог не появляется.

Итоги

Чтобы отключить предупреждение, можно сделать следующее:

При наличии root-прав

Установить значение audio.safemedia.bypass=true в файле system/build.properties

Без root-прав

Нужно следить за значением Settings.Secure.UNSAFE_VOLUME_MUSIC_ACTIVE_MS , и не давать ему подниматься выше 72 000 000 (20 часов). После сброса значения нужно перезапускать устройство (или переключаться на другого пользователя, а затем возвращаться обратно).

Я написала код простого приложения, которое делает эту работу, и напоминает о необходимости перезагрузить устройство/перелогиниться.

Телефон сам убавляет громкость

Kononov Мобильные телефоны 110600 просмотров Вопрос задан 2 года назад

Бесплатная консультация по ремонту мобильных телефонов

На связи ежедневно с 7:00 до 24:00

Услуги консультаций предоставляются одним из наших проверенных сервисных центров.

Ответов на вопрос «Телефон сам убавляет громкость»: 95

Для начала неплохо было бы на вирусы его прошмонать

1) Настройки-мое устройство-вызовы-звонить громче в руках/сумке (отключите эту настройку и отрегулируйте громкость как вам необходимо)
2) Перепроверьте, как у вас настроена громкость звуков (в меню настроек Звучание > Громкость): если установлена единая громкость для системы и мультимедиа, то, уменьшая громкость операционной системы или мультимедиа, вы снижаете и громкость уведомлений.

Перепроверьте, не стоит ли флажок Авторегулировка громкости звонка в надстройках звука.

Убедитесь, что клавиши громкости не нажимаются, когда телефон лежит в кармане (громкость понижается даже в спящем режиме).

Если установлена программа Hangouts, измените ее конфиги или совсем удалите, потому что она часто конфликтует с системными звуками.

3) Бился над этой проблемой, с февраля данного г как жена телефон подарила элжи e615 многое перепробовал, сегодня уже Hangouts снес спустя root + root explorer, толку ноль, и тут я вспомнил что звучание убавляется после того как мне звонят, взял жены телефон и начал экспериментировать и выяснил что беда состоит в том что звучание звонка у меня нарастающий (у меня в надстройках это не отключить android 4.1.2,или я не отыскал) и когда мне кто-нибудь звонит уровень громкости после звонка остается в том положении в какой момент я успел взять трубку, то есть пример: мне позвонил и я услышал звонок моментально и мгновенно взял трубку, то после разговора громкость звонка остается минимальной (в зависимости на сколько она успела возрасти) и ее приходится прибавлять вручную качелькой, а если телефон длительно звонил до момента ответа и громкость возросла до max то и после разговора она остается max. Решил я эту загвоздку установкой приложухи Disable Increasing Ring, после запуска она весит в уведомления и отключает нарастающий звонок, то есть громкость выдается моментально та которая установлена вами в надстройках.

Вот что выдал поиск в интернете по вашей проблеме пробуйте.

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

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

Беда чаще всего в наушниках, подключите любые иные и беда исчезнет. Дело в китайщине.

Тут 2 варианта- или что то уже в самой кнопке ( сломана-перестала нажиматься со щелчком, залита водой и тд, заедает о корпус.) или программная ошибка или сбой (глюк прошивки, некая программулина управляет звуком, глюк некой программы) необходимо начать с визуального осмотра и работоспособности самой кнопки

Громкость на Android падает сама собой, что делать

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

К счастью, не существует проблем, которые нельзя было бы исправить, и телефон Android, снижающий громкость по собственному желанию, не является исключением. Если вы тоже страдаете от телефона Android с той же проблемой, читайте дальше, и вы можете найти решение.

Навигация:

Плакат с понижением громкости

Проверьте свои наушники и разъем для наушников

Первое, что вам следует проверить, — это ваши наушники, если эта проблема возникает, когда вы их надеваете. Некоторые наушники имеют встроенный немой кнопка и ползунок громкости . Это означает, что пока ваш телефон играет на полную мощность, в наушниках может быть меньше громкости.

В качестве альтернативы, если ваш разъем для наушников даже немного изогнут, звуковые разъемы на вашем телефоне Android неизбежно не будут подключаться к разъемам на ваших наушниках. Это может привести либо к потере определенных частот, из-за чего каждый звук будет казаться тише, либо к потере звука в целом.

Проверьте сам телефон (кнопки, чехол и т. Д.)

Проверив наушники, можно еще раз убедиться, что сам телефон работает нормально. Вот что вам нужно искать:

  • Убедитесь, что разъем для наушников чистый и на нем нет препятствий.
  • Убедитесь, что вы не нажимаете кнопку по ошибке или если у вас есть индивидуальный чехол, который нажимает кнопки громкости самостоятельно.
  • Проверьте кнопки громкости на вашем Android. Если один из них завис, вероятно, это является причиной того, что ваш Android самостоятельно снижает громкость.
  • Убедитесь, что ваш телефон полностью заряжен. Иногда, когда уровень заряда аккумулятора телефона падает ниже определенного, громкость снижается для экономии энергии.

Перейти в безопасный режим

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

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

Вот как вы можете получить доступ безопасный режим :

  • Нажмите и удерживайте Кнопка питания .
  • Через некоторое время вас спросят, хотите ли вы загрузить свой телефон в безопасный режим , Нажмите » OK «и дождитесь перезагрузки телефона.
  • Вы сейчас находитесь в безопасный режим .
  • Найдите время, чтобы посмотреть пару видеороликов в Интернете или послушать песню, чтобы узнать, не упадет ли громкость.
  • Если это не так, то вы можете с уверенностью сказать, что это стороннее приложение.
  • Затем вы можете начать удалять сторонние приложения или подумать о другом исправлении.
  • Однако в любом случае вам нужно будет выйти из безопасного режима. Для этого вам нужно только перезагрузить устройство.

Используйте ReiBoot для Android, чтобы исправить проблему

Мы понимаем, что некоторые из вас очень заняты и у них нет времени или сил, чтобы починить телефон самостоятельно. Однако это не означает, что вам придется отправить его в ремонтную мастерскую, что может стоить вам немалых денег и занять значительное количество времени, учитывая, насколько часто бывают такие места.

Вот почему мы рекомендуем использовать ReiBoot для Android, чтобы решить проблему с понижением громкости на вашем телефоне. Точнее, с ReiBoot для Android:

  • Вам не нужно беспокоиться о совместимости вашего телефона. Он совместим с большинством устройств Android, независимо от того, насколько они старые или современные.
  • Вы можете исправить практически любую мыслимую проблему на своем телефоне (более 150) за несколько кликов. Легко и просто.

Чего же ты ждешь тогда?

Скачать ReiBoot для Android и наслаждайтесь всеми этими преимуществами прямо сейчас!

Как остановить снижение звука на телефонах Android при подключении наушников? —

Вы когда-нибудь замечали, что когда вы подключаете наушники к своему устройству Android, ваш звук автоматически понижается? Эта «ошибка» на самом деле является функцией безопасности, которая была реализована в Android, чтобы не дать владельцам смартфонов повредить их уши.

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

Использование Automate для остановки снижения звука

Для этого руководства вам нужно скачать и установить приложение из Google Play Store под названием Automate. Приложение, которое вы ищете, разработано LlamaLab. С помощью этого приложения вы сможете изменять настройки при выполнении определенных действий на вашем устройстве.

Как только вы загрузили Automate, нажмите кнопку «+» в верхней части экрана, чтобы создать новый поток.

Олли-тук-плюс кнопка

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

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

Во-первых, нажмите кнопку меню в верхнем левом углу. Далее коснитесь камеры Вариант звука. Это откроет новый список опций на выбор.

Олли-камера звук

Для начала вам нужно нажать на опцию, которая гласит «Громкость звука?». После этого на вашей пустой странице появится новый блок. Затем нажмите на пустой блок, и откроется новое меню настроек.

Вам нужно будет внести некоторые изменения в меню настроек. Убедитесь, что вы тщательно следуйте инструкциям ниже.

Олли-когда-изменено

  1. Под опцией продолжить, выберите «когда изменено».
  2. При минимальном объеме, выберите 0%
  3. При максимальной громкости, выберите 70%
  4. В Audio Stream выберите настройку, к которой вы хотите применить эту настройку. Если, например, вы хотите, чтобы громкость звонка не уменьшалась, выберите «Звонок», если не хотите, чтобы громкость музыки не уменьшалась, выберите «Музыка».
  5. Далее сохраните настройки

Теперь вам нужно выбрать новый блок в меню настроек. Нажмите кнопку меню в левом верхнем углу снова. На этот раз под камерой Звук и выберите «громкость звука установлена».

Олли-объем набора

Блок настройки громкости звука появится на вашей пустой странице, как и блок «Громкость звука?». Затем коснитесь блока «Настройка громкости звука» и следуйте инструкциям ниже.

  1. Во-первых, измените процент объема на значение, которое вы можете безопасно использовать. Например, если вы обычно слушаете музыку на 80% громкости, выберите 80%.
  2. Далее Вам нужно будет выбрать свой аудиопоток. Это должен быть тот же поток, который вы выбрали в первом блоке. Например, если вы выбрали музыку ранее, выберите музыку снова.
  3. Далее нажмите готово в правом верхнем углу.

Олли-объем-процентный

Создав эти два блока, вам нужно соединить их вместе.

  1. Удерживая кружок «да» из блока «когда громкость звука», перетащите его в кружок «в» на блоке под ним.
  2. Удерживая кружок «нет» из блока «когда громкость звука», перетащите его в кружок «в» на блоке под ним.
  3. Теперь удерживайте кружок «ОК» в блоке «начало потока» и подключите его к кружку «в» в настройке «когда громкость звука»
  4. Ваши блоки должны быть подключены аналогично изображенному ниже изображению.

Олли-блоки-пример

Теперь вы можете нажать на кнопку галочки в правом верхнем углу. Появится новая страница, которая позволит вам начать процесс. Прежде чем нажать «Пуск», нажмите кнопку «Установить разрешение», чтобы убедиться, что у Automate есть разрешения, необходимые для регулировки громкости звука.

Олли-установки-разрешения

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

Чтобы убедиться, что все работает, убедитесь, что вы нажали «старт», когда будете готовы начать процесс.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *