Kuinka poistaa suuren äänenvoimakkuuden varoitus automaattisesti käytöstä ilman juuria

click fraud protection

Opastus siitä, kuinka voit poistaa käytöstä korkean äänenvoimakkuuden tai turvallisen äänen varoituksen, jota vaaditaan EU: ssa myytävillä laitteilla. Tämä toimii kaikilla laitteilla ilman rootia.

Ne teistä, jotka asuvat jossakin Euroopan unionin jäsenvaltiossa, ovat luultavasti törmänneet varoitukseen yrittäessään nostaa kuulokkeiden äänenvoimakkuutta yllä olevan ominaisuuskuvan mukaisesti.

Euroopan sähköteknisen standardoinnin komitean (CENELEC) asettamien määräysten mukaan kaikki elektroniset helmikuun 2013 jälkeen myytyjen mediatoistoon soveltuvien laitteiden oletuslähtöäänenvoimakkuuden on oltava enintään 85 dB. Käyttäjät voivat halutessaan ohittaa varoituksen lisätäkseen äänenvoimakkuutta enintään 100 dB: iin, mutta tällöin varoituksen tulee ilmestyä uudelleen 20 tunnin musiikin toiston jälkeen.

Vaikka emme aio ryhtyä keskusteluun tämän asetuksen tehokkuudesta hyvän edistämisessä terveydelle, käyttäjät, jotka päättävät usein ohittaa tämän varoituksen, ihmettelevät usein, voiko tämä prosessi olla mahdollista automatisoitu. On monia tapauksia, joissa on melko ärsyttävää joutua manuaalisesti suostumaan äänenvoimakkuuden rajan ohittamiseen, esimerkiksi kun aloitat musiikin etätoisto Bluetooth-laitteella, joten halusimme keksiä tavan ohittaa tämä automaattisesti Varoitus.

Ratkaisuja "turvallisen äänenvoimakkuuden rajan" ohittamiseksi on jo olemassa, jos teet hakuja foorumeiltamme, mutta tähän mennessä kaikki ratkaisut ovat vaatineet sinua Asentaa Xposed Moduuli. Tämä rajoittaa välttämättä sitä, ketkä voivat käyttää sitä, sillä Xposed Framework edellyttää pääkäyttäjän oikeuksia (mikä tarkoittaa lukitsematonta käynnistyslatainta useimmissa puhelimissa) sekä Androidin Nougatia edeltävissä versioissa. Mutta tutkittuani AOSP: tä ja erilaisia ​​järjestelmäasetuksia olen löytänyt tavan ohittaa korkean äänenvoimakkuuden/turvallisen äänen rajan. kaikilla laitteilla ilman rootia.

Noudattamalla tätä opasta hyväksyt kaikki riskit, jotka liittyvät median kuuntelemiseen korkealla äänenvoimakkuudella.


Turvallisen äänivaroituksen ohituksen opetusohjelma

Jos olet lukenut edellisen artikkelini aiheesta Immersive Moden käyttöönotto ilman pääkäyttäjän oikeuksia, olet ehkä alkanut leikkiä joidenkin puhelimeen piilotettujen asetusten kanssa. Jos et ole, suosittelen, että teet sen, sillä olen huomannut, että melkein jokaisessa laitteessa on paljon herkkuja, jotka odottavat löytämistä. Tämä temppu ei eroa toisistaan, koska käytämme järjestelmän ominaisuutta ohittaaksemme turvallisen äänivaroituksen.

Tarkemmin sanottuna muokkaamme järjestelmää. Globaali omaisuus audio_safe_volume_state sekä käynnistyksen yhteydessä että ajoittain, joten Android luulee aina, että olet suostunut ohittamaan varoitus. Tämä ominaisuus on määritelty AOSP: ssä, jonka toistamme alla. Tämä ominaisuus voi olla useita tiloja 0–3. 30 sekuntia käynnistyksen jälkeen tai jokaisen 20 tunnin jatkuvan musiikin toiston jälkeen tilaksi asetetaan "0" tai "ei määritetty". Sen jälkeen se asetetaan arvoon 1 (pois käytöstä) tai 3 (käytössä) -asetuksen mukaan. Matkapuhelimen maakoodi. Jos asut EU: ssa, tämän ominaisuuden arvoksi on asetettu oletusarvoisesti 3, mutta se muutetaan arvoon 2, jos se ei ole aktiivinen, kun käyttäjä ohittaa äänenvoimakkuusvaroituksen manuaalisesti. Muutamme tämän ominaisuuden arvon "ei-aktiiviseksi". (Sen muuttaminen "vammaiseksi" ei koskaan toiminut minulla, jos mietit).


//
// Safe media volume management.
// MUSIC stream volume level is limited when headphones are connected according to safety
// regulation. When the user attempts to raise the volume above the limit, a warning is
// displayed and the user has to acknowlegde before the volume is actually changed.
// The volume index corresponding to the limit is stored in config_safe_media_volume_index
// property. Platforms with a different limit must set this property accordingly in their
// overlay.
//
// mSafeMediaVolumeState indicates whether the media volume is limited over headphones.
// It is SAFE_MEDIA_VOLUME_NOT_CONFIGURED at boot time until a network service is connected
// or the configure time is elapsed. It is then set to SAFE_MEDIA_VOLUME_ACTIVE or
// SAFE_MEDIA_VOLUME_DISABLED according to country option. If not SAFE_MEDIA_VOLUME_DISABLED, it
// can be setto SAFE_MEDIA_VOLUME_INACTIVE bycalling AudioService.disableSafeMediaVolume()
// (when user opts out).
privatefinalint SAFE_MEDIA_VOLUME_NOT_CONFIGURED = 0;
privatefinalint SAFE_MEDIA_VOLUME_DISABLED = 1;
privatefinalint SAFE_MEDIA_VOLUME_INACTIVE = 2;
privatefinalint SAFE_MEDIA_VOLUME_ACTIVE = 3;
private Integer mSafeMediaVolumeState;
privateint mMcc = 0;
// mSafeMediaVolumeIndex is the cached value of config_safe_media_volume_index property
privateint mSafeMediaVolumeIndex;
// mSafeMediaVolumeDevices lists the devices for which safe media volume is enforced,
privatefinalint mSafeMediaVolumeDevices = AudioSystem.DEVICE_OUT_WIRED_HEADSET |
AudioSystem.DEVICE_OUT_WIRED_HEADPHONE;
// mMusicActiveMs is the cumulative time of music activity since safe volume was disabled.
// When this time reaches UNSAFE_VOLUME_MUSIC_ACTIVE_MS_MAX, the safe media volume is re-enabled
// automatically. mMusicActiveMs is rounded to a multiple of MUSIC_ACTIVE_POLL_PERIOD_MS.
privateint mMusicActiveMs;
privatestaticfinalint UNSAFE_VOLUME_MUSIC_ACTIVE_MS_MAX = (20 * 3600 * 1000); // 20 hours
privatestaticfinalint MUSIC_ACTIVE_POLL_PERIOD_MS = 60000; // 1 minute polling interval
privatestaticfinalint SAFE_VOLUME_CONFIGURE_TIMEOUT_MS = 30000; // 30s after boot completed

Lue lisää

Sinun on ensin asennettava Tasker ja AutoTools jotta voimme automatisoida tämän tempun. Teknisesti mitä tahansa muuta automaatiosovellusta Taskerin lisäksi voidaan käyttää, mutta tunnen vain Taskerin, joten sinun on tehtävä säätöjä itse, jos haluat käyttää toista sovellusta. AutoTools on kuitenkin kriittinen tämän tempun kannalta, koska tämän laajennuksen avulla voimme hallita laitteemme suojattuja asetuksia.

Kuten immersiivisen tilan vaihtamista käsittelevässä artikkelissani selitettiin, meidän on myönnettävä WRITE_SECURE_SETTINGS käyttöoikeus AutoToolsiin. Tämä johtuu siitä, että turvallisen äänenvoimakkuuden tilan hallintakomento on määritelty kohdassa Asetukset. Maailmanlaajuinen luokkaan, vaikka komennon tarkka syntaksi on piilotettu AOSP: ssä (kuten se oli Immersive Modessa). Jos olet jo myöntänyt WRITE_SECURE_SETTINGS-luvan AutoToolsille luettuasi edellisen immersiivisen tilan opetusohjelmani, voit ohittaa seuraavan osion. Jos ei, sinun on määritettävä se.


Androidin käyttöoikeuksien hallintajärjestelmässä sovellukset määrittävät käyttöoikeudet, jotka niille haluavat myöntää Manifest-tiedostossa. Käyttäjät voivat sitten myöntää tai evätä käyttöoikeudet asennuksen yhteydessä (pre-Marshmallow) tai pyynnöstä (Marshmallow+). On kuitenkin olemassa tiettyjä lupia, joita sovelluksille ei voida myöntää, vaikka ne pyytäisivät sitä manifestissa, kuten esim WRITE_SECURE_SETTINGS. Tämä johtuu siitä, että myöntämällä mille tahansa sovellukselle niin tehokkaan luvan kuin tämä antaisi kyseiselle sovellukselle paljon hallintaa laitteeseesi.

Mutta on yksi ratkaisu, jonka avulla voimme myöntää WRITE_SECURE_SETTINGS-luvan mille tahansa haluamamme sovellukselle. Käyttämällä ADB: tä paketinhallinta (pm) työkalu, voimme myöntää minkä tahansa luvan mille tahansa haluamamme sovellukselle (edellyttäen, että sovellus pyytää tätä lupaa Manifest-tiedostossa).

Ensimmäinen asia, joka sinun on tehtävä, on Asenna ADB-binaari tietokoneellesi ja sen jälkeen oikea ohjain laitteellesi. Ota sitten käyttöön USB-virheenkorjaus Kehittäjäasetuksissa (siirry kohtaan Asetukset -> Tietoja puhelimesta ja napauta Rakennusnumero 7 kertaa, jos et ole jo tehnyt niin) ja yhdistä puhelimesi tietokoneeseen. Lähetä lopuksi seuraava komento, kun olet avannut terminaalin:

adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS

Nyt AutoToolsilla on mahdollisuus muuttaa mitä tahansa yleistä, suojattua tai järjestelmäasetusta laitteessasi. Voit pelata näillä asetuksilla ja käytettävissä olevien asetusten luettelolla usealla eri tavalla jokainen luokka riippuu täysin laitteestasi ja ohjelmistoversiostasi, mutta tämä keskustelu on toista varten aika. Joka tapauksessa näytämme sinulle, kuinka voit käyttää AutoToolsia turvallisen äänenvoimakkuuden hallinnassa.


Turvallisen äänivaroituksen poistaminen käytöstä käynnistyksen yhteydessä

Tässä on profiilin kuvaus niille teistä, jotka tuntevat Taskerin. Jos et ole perehtynyt Taskeriin, lue vaiheittaiset ohjeet.

Poista Safe Audio Boot käytöstä

Profile: Disable Safe Audio On Boot (6)
Event: Monitor Start
Enter: Anon (7)
A1: Wait[ MS: 0 Seconds: 30 Minutes: 0 Hours: 0 Days: 0 ]
A2: AutoTools Secure Settings [ Configuration: Setting Type: Global
Name: audio_safe_volume_state
Input Type: Int
Value: 2 Timeout (Seconds):60 ]

Lue lisää

Avaa Tasker, jotta voimme luoda uuden profiilin. Napauta oikeassa alakulmassa olevaa + -kuvaketta luodaksesi uuden profiilin. Lisää uusi Tapahtuma kontekstiin ja mene kohtaan Tasker --> Monitor Start. Käytämme tätä tapahtumakontekstia, joka laukeaa Taskerin käynnistyessä, eikä tapahtumakontekstia, joka aktivoituu puhelimen käynnistyessä, koska edellinen on paljon luotettavampi kuin jälkimmäinen.

Joka tapauksessa paina Takaisin-painiketta, sillä nyt luodaan tähän profiiliin liittyvä tehtävä. Nimeä tehtävä mikä tahansa, koska sillä ei ole väliä. Kun olet siirtynyt tehtävän luontinäyttöön, paina + -kuvaketta näytön alareunassa keskellä luodaksesi uuden toiminnon. Siirry ensimmäiseen toimintoon Tehtävä --> Odota ja anna sen odottaa 30 sekuntia. Tämä vastaa "30 sekuntia käynnistyksen jälkeen" -sääntöä, jota käytetään Androidissa turvallisen äänenvoimakkuuden tilan asettamiseen.

Luo seuraavaksi uusi toiminto ja siirry kohtaan Plugin --> AutoTools --> Secure Settings. Avaa AutoToolsin määritysnäyttö painamalla kynää. Mene Mukautettu asetus. Syötä asetustyypiksi Maailmanlaajuinen. Kirjoita Nimeksi audio_safe_volume_state. Tee se syöttötyypille int. Tee se arvon vuoksi 2. Varmista, että olet laittanut kaiken oikein, kokoonpanon tulee vastata alla olevaa keskimmäistä kuvakaappausta. Komento on lähetettävä tarkalleen kuten olen kirjoittanut tai sillä ei ole mitään vaikutusta.

Kun olet valmis, palaa Taskerin päävalikkoon, koska meidän on luotava uusi profiili. Juuri luomamme tilit, kun turvallisen äänenvoimakkuuden tila asetetaan 30 sekuntia käynnistyksen jälkeen, mutta jolle niille teistä, jotka eivät koskaan käynnistä laitettasi uudelleen, teemme uuden profiilin asettaaksesi tämän ajoittain arvo.


Poista turvallinen äänivaroitus ajoittain käytöstä

Tässä on profiilin kuvaus niille teistä, jotka tuntevat Taskerin. Jos et ole perehtynyt Taskeriin, lue vaiheittaiset ohjeet.

Poista turvallinen ääni käytöstä ajoittain

Profile: Disable Safe Audio Periodically (21)
Time: 11:59PM
Enter: Anon (122)
A1: AutoTools Secure Settings [ Configuration: Setting Type: Global
Name: audio_safe_volume_state
Input Type: Int
Value: 2 Timeout (Seconds):60 ]

Lue lisää

Luo uusi profiili tällä kertaa a Aika yhteydessä. Valitettavasti en ole tietoinen mistään menetelmästä saada nykyinen kumulatiivinen median toistoaika ilman root, joten asetamme sen sijaan ajoittain turvallisen äänenvoimakkuuden tilan inaktiiviseksi 24 tunnin välein (... ei ole niin, että te todella kuuntelette 20 tuntia musiikkia 24 tunnin aikana, vai mitä?). Joka tapauksessa Taskerin käyttöliittymä määräajoin tehtävän tehtävän asettamiseen on tavallaan kauhea, mutta sen ydin on, että haluat asettaa "From"- ja "To"-ajan samaan aikaan. Tällä tavalla Tasker käsittelee sitä niin kuin haluat, että tehtävä laukeaa vain kerran tiettyyn aikaan (tein sen 1 minuutti ennen puoltayötä).

Mitä tulee tehtävään, kopioi edellisen profiilin toiminnolle #2 tekemäsi. Tässä tapauksessa ei ole uutta tai erilaista toimintoa, koska muutamme vain tämän maailmanlaajuisen järjestelmäominaisuuden arvoa 24 tunnin välein.

Nyt kun olet määrittänyt molemmat profiilit, olet valmis! Käynnistä puhelimesi uudelleen ja sinun ei pitäisi enää nähdä "turvallisen äänenvoimakkuuden" varoitusta, kun liität kuulokkeet.


Lataa ja tuo Taskeriin

Kuten aina, tarjoamme skriptien XML-tiedoston, jonka voit ladata ja tuoda. Lataa tiedostot alla olevasta linkistä ja tallenna ne minne tahansa sisäiseen tallennustilaan. Avaa Tasker ja poista aloittelijatila käytöstä asetuksista. Palaa sitten päänäyttöön ja paina pitkään "Profiili" -välilehteä ylhäällä. Sinun pitäisi nähdä ponnahdusikkuna, jossa yksi vaihtoehdoista on "Tuo". Napauta sitä ja selaa kohtaan, johon tallensit .prf.xml-tiedostot ja valitse tuotava tiedosto. Toista toiselle profiilille.

Lataa "Poista turvallinen äänivaroitus käytöstä käynnistyksen yhteydessä" -profiili

Lataa "Poista turvallinen äänivaroitus ajoittain käytöstä" -profiili

Toivomme, että tämä vihje on sinulle hyödyllinen. Kerro meille alla olevissa kommenteissa, jos tämä toimii sinulle!