Cara Nonaktifkan Peringatan Volume Tinggi tanpa Root

Anda yang tinggal di salah satu negara anggota Uni Eropa mungkin telah menemukan peringatan ketika mencoba meningkatkan volume headphone Anda seperti yang ditunjukkan pada gambar fitur di atas.

Menurut peraturan yang ditetapkan oleh Komite Eropa untuk Standarisasi Elektroteknik (CENELEC), semua perangkat elektronik yang mampu diputar media yang dijual setelah Februari 2013 harus memiliki tingkat volume output default maksimum 85 dB. Pengguna dapat memilih untuk mengabaikan peringatan untuk meningkatkan volume hingga maksimum 100 dB, tetapi dengan melakukan hal itu peringatan harus muncul kembali setelah 20 jam pemutaran musik.

Meskipun kami tidak akan berdebat tentang kemanjuran peraturan ini dalam mempromosikan kesehatan yang baik, pengguna yang sering memilih untuk memintas peringatan ini sering bertanya-tanya apakah proses ini dapat otomatis. Ada banyak kasus yang agak menjengkelkan karena harus secara manual setuju untuk mengesampingkan batas volume, seperti ketika Anda memulai pemutaran musik dari jarak jauh pada perangkat Bluetooth, jadi kami ingin mencari tahu cara mencari cara untuk secara otomatis memintas peringatan ini.

Solusi untuk melewati "batas volume aman" sudah ada jika Anda mencari di forum kami, tetapi sejauh ini semua solusi mengharuskan Anda untuk menginstal Modul Xposed. Ini tentu membatasi siapa yang dapat menggunakannya, karena Xposed Framework mengharuskan Anda untuk memiliki akses root (yang berarti bootloader yang tidak terkunci pada sebagian besar ponsel) serta pada versi Android pra-Nougat. Tetapi setelah menggali ke dalam AOSP dan berbagai pengaturan sistem, saya telah menemukan cara untuk memotong volume tinggi / batas audio aman pada semua perangkat tanpa memerlukan root.

Dengan mengikuti panduan ini, Anda menerima risiko apa pun yang terkait dengan mendengarkan media pada level volume tinggi.


Tutorial Bypass Peringatan Audio Aman

Jika Anda telah membaca artikel saya sebelumnya tentang mengaktifkan Mode Immersive tanpa akses root, maka Anda mungkin sudah mulai bermain-main dengan beberapa pengaturan yang dapat Anda temukan tersembunyi di ponsel Anda. Jika belum, saya sangat menyarankan Anda melakukannya, karena saya telah menemukan bahwa hampir setiap perangkat memiliki banyak barang yang menunggu untuk ditemukan. Trik ini tidak berbeda karena kita akan menggunakan properti sistem untuk mem-bypass peringatan audio yang aman.

Secara khusus, kami akan memodifikasi properti System.Global audio_safe_volume_state baik saat boot dan secara berkala sehingga Android akan selalu berpikir Anda telah menyetujui untuk memintas peringatan. Properti ini didefinisikan dalam AOSP, yang kami buat ulang di bawah ini. Ada beberapa negara bagian yang dapat ditempuh oleh properti ini, mulai dari 0-3. 30 detik setelah boot atau setelah setiap 20 jam pemutaran musik terus menerus, keadaan diatur ke '0' atau 'tidak dikonfigurasi.' Kemudian diatur ke '1' untuk 'dinonaktifkan' atau '3' untuk 'diaktifkan' tergantung pada Kode Negara Seluler Anda. Jika Anda tinggal di UE, properti ini diatur ke '3' secara default tetapi diubah menjadi '2' untuk 'tidak aktif' setiap kali pengguna secara manual memintas peringatan volume. Kami akan mengubah nilai properti ini ke status 'tidak aktif' (mengubahnya menjadi 'dinonaktifkan' tidak pernah bekerja untuk saya, jika Anda bertanya-tanya).

Implementasi Volume Media yang Aman di AOSP

  //========================================================================================== // 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 set to SAFE_MEDIA_VOLUME_INACTIVE by calling AudioService.disableSafeMediaVolume() // (when user opts out). private final int SAFE_MEDIA_VOLUME_NOT_CONFIGURED = 0; private final int SAFE_MEDIA_VOLUME_DISABLED = 1; private final int SAFE_MEDIA_VOLUME_INACTIVE = 2; private final int SAFE_MEDIA_VOLUME_ACTIVE = 3; private Integer mSafeMediaVolumeState; private int mMcc = 0; // mSafeMediaVolumeIndex is the cached value of config_safe_media_volume_index property private int mSafeMediaVolumeIndex; // mSafeMediaVolumeDevices lists the devices for which safe media volume is enforced, private final int 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. private int mMusicActiveMs; private static final int UNSAFE_VOLUME_MUSIC_ACTIVE_MS_MAX = (20 * 3600 * 1000); // 20 hours private static final int MUSIC_ACTIVE_POLL_PERIOD_MS = 60000; // 1 minute polling interval private static final int SAFE_VOLUME_CONFIGURE_TIMEOUT_MS = 30000; // 30s after boot completed 

Pertama-tama Anda harus menginstal Tasker dan AutoTools sehingga kami dapat mengotomatiskan trik ini. Secara teknis, aplikasi otomasi lain selain Tasker dapat digunakan, tetapi saya hanya terbiasa dengan Tasker sehingga Anda harus melakukan penyesuaian sendiri jika Anda lebih suka menggunakan aplikasi yang berbeda. AutoTools, sangat penting untuk trik ini karena plug-in ini memungkinkan kita untuk mengontrol Pengaturan Aman pada perangkat kita.

Seperti dijelaskan dalam artikel saya tentang toggling Mode Immersive, kita perlu memberikan izin WRITE_SECURE_SETTINGS ke AutoTools. Ini karena perintah untuk mengendalikan status volume audio aman ditentukan di bawah kelas Settings.Global, meskipun sintaks yang tepat untuk perintah tersebut disembunyikan di AOSP (seperti halnya untuk Mode Immersive). Jika Anda telah memberikan izin WRITE_SECURE_SETTINGS ke AutoTools setelah membaca tutorial saya sebelumnya tentang Mode Immersive, maka Anda dapat melewati bagian selanjutnya. Jika tidak, maka Anda harus mengaturnya.


Pemberian Izin Pengaturan Aman ke AutoTools

Di bawah sistem manajemen izin Android, aplikasi menentukan izin yang ingin mereka berikan dalam file Manifest. Pengguna kemudian dapat memberikan atau menolak izin untuk instalasi (sebelum Marshmallow) atau sesuai permintaan (Marshmallow +). Namun, ada izin tertentu yang tidak dapat diberikan aplikasi bahkan jika mereka memintanya dalam Manifest, seperti WRITE_SECURE_SETTINGS. Ini karena memberikan izin pada aplikasi apa pun sekuat ini akan memberi aplikasi itu satu ton kendali atas perangkat Anda.

Tetapi ada satu solusi yang bisa kita gunakan untuk memberikan izin WRITE_SECURE_SETTINGS ke aplikasi apa pun yang kita inginkan. Dengan menggunakan alat manajer paket (pm) ADB, kami dapat memberikan izin apa pun untuk aplikasi apa pun yang kami inginkan (asalkan aplikasi meminta izin itu dalam file Manifest).

Hal pertama yang perlu Anda lakukan adalah menginstal binari ADB ke komputer Anda diikuti oleh driver yang tepat untuk perangkat Anda. Kemudian, aktifkan USB Debugging di Opsi Pengembang (buka Pengaturan -> Tentang Telepon dan ketuk Bangun nomor 7 kali jika Anda belum melakukannya) dan hubungkan telepon Anda ke komputer Anda. Terakhir, kirim perintah berikut setelah Anda membuka terminal:

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

Sekarang AutoTools akan memiliki kemampuan untuk mengubah pengaturan Global, Secure, atau System pada perangkat Anda. Ada berbagai cara Anda dapat bermain-main dengan pengaturan ini, dan daftar pengaturan yang tersedia di setiap kategori sepenuhnya tergantung pada perangkat dan perangkat lunak Anda, tetapi diskusi itu untuk waktu lain. Bagaimanapun, kami akan terus menunjukkan kepada Anda cara menggunakan AutoTools untuk mengontrol kondisi volume aman.


Menonaktifkan Peringatan Audio yang Aman saat Booting

Berikut adalah deskripsi profil untuk Anda yang akrab dengan Tasker. Jika Anda tidak terbiasa dengan Tasker, baca terus untuk petunjuk langkah demi langkah.

Nonaktifkan Audio Aman saat Boot

 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 ] 

Buka Tasker sehingga kami dapat membuat profil baru. Di sudut kanan bawah, ketuk ikon + untuk membuat profil baru. Tambahkan konteks Acara baru dan pergi ke Tasker -> Monitor Start. Kami menggunakan konteks Acara ini yang memicu ketika Tasker memulai daripada konteks Acara yang diaktifkan ketika telepon boot karena yang pertama jauh lebih dapat diandalkan daripada yang terakhir.

Bagaimanapun, tekan tombol kembali karena kami sekarang akan membuat Tugas yang terkait dengan profil ini. Beri nama Tugas apa pun karena itu tidak masalah. Setelah Anda masuk ke layar Pembuatan tugas, tekan ikon + di tengah bawah layar untuk membuat Tindakan baru. Untuk tindakan pertama, buka Tugas -> Tunggu dan tunggu hingga 30 detik. Ini menyumbang aturan "30 detik setelah boot" yang digunakan di Android untuk mengatur status volume aman.

Selanjutnya, buat Tindakan baru dan pergi ke Plugin -> AutoTools -> Pengaturan Aman. Tekan pensil untuk membuka layar konfigurasi AutoTools. Pergi ke Pengaturan Kustom. Untuk Jenis Pengaturan, masukkan Global . Untuk Nama, masukkan audio_safe_volume_state. Untuk Tipe Input buatlah int. Untuk Nilai membuatnya 2. Periksa untuk memastikan Anda meletakkan semuanya dengan benar, konfigurasi harus cocok dengan screenshot tengah di bawah ini. Perintah harus dikirim persis seperti yang saya tulis atau tidak akan memengaruhi.

Setelah selesai, kembali ke menu utama Tasker karena kita perlu membuat profil lain. Akun yang baru saja kami buat untuk akun ketika kondisi volume aman diatur 30 detik setelah boot, tetapi bagi Anda yang hampir tidak pernah reboot perangkat Anda, kami akan membuat profil lain untuk secara berkala menetapkan nilai ini.


Nonaktifkan Peringatan Audio Aman secara berkala

Berikut adalah deskripsi profil untuk Anda yang akrab dengan Tasker. Jika Anda tidak terbiasa dengan Tasker, baca terus untuk petunjuk langkah demi langkah.

Nonaktifkan Audio Aman secara berkala

 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 ] 

Buat profil baru, kali ini dengan konteks Waktu . Sayangnya saya tidak mengetahui metode apa pun untuk mendapatkan waktu kumulatif pemutaran media saat ini tanpa root, jadi kami hanya akan secara berkala mengatur status volume aman menjadi tidak aktif setiap 24 jam (... tidak seperti kalian yang benar-benar mendengarkan 20 jam musik dalam jangka waktu 24 jam, kan?). Bagaimanapun, antarmuka Tasker untuk mengatur Tugas berkala agak mengerikan, tetapi intinya adalah bahwa Anda ingin mengatur waktu "Dari" dan "Ke" ke waktu yang sama. Dengan cara ini, Tasker akan memperlakukannya seperti Anda ingin Tugas hanya memicu sekali pada waktu yang ditentukan (saya membuatnya 1 menit sebelum tengah malam).

Adapun Tugas, cukup salin apa yang Anda lakukan untuk Tindakan # 2 di profil sebelumnya. Tidak ada Tindakan baru atau berbeda dalam hal ini, karena semua yang kami lakukan adalah mengubah nilai properti sistem Global ini setiap 24 jam sekali.

Sekarang setelah Anda mengatur kedua profil ini, Anda selesai! Mulai ulang ponsel Anda dan sekarang Anda tidak lagi melihat peringatan "volume aman" ketika Anda mencolokkan headphone Anda.


Unduh dan Impor ke Tasker

Seperti biasa, kami menyediakan file XML skrip yang dapat Anda unduh dan impor. Cukup unduh file dari tautan di bawah ini dan simpan di mana saja di penyimpanan internal Anda. Buka Tasker dan nonaktifkan Mode Pemula dalam Preferensi. Kemudian, kembali ke layar utama dan tekan lama pada tab "Profil" di bagian atas. Anda akan melihat pop-up dengan salah satu opsi menjadi "Impor." Ketuk itu dan telusuri ke tempat Anda menyimpan file .prf.xml dan pilih file itu untuk diimpor. Ulangi untuk profil kedua.

Unduh Profil 'Nonaktifkan Peringatan Audio Aman saat Booting'. Unduh profil 'Nonaktifkan Peringatan Audio Aman Secara berkala'

Kami harap tip ini bermanfaat bagi Anda. Beri tahu kami di komentar di bawah jika ini cocok untuk Anda!