วิธีปิดการใช้งานคำเตือนระดับเสียงสูงโดยอัตโนมัติโดยไม่ต้องรูท

บทช่วยสอนเกี่ยวกับวิธีปิดการใช้งานคำเตือนระดับเสียงสูงหรือเสียงปลอดภัยซึ่งจำเป็นบนอุปกรณ์ที่จำหน่ายในสหภาพยุโรป ใช้งานได้กับอุปกรณ์ทั้งหมดที่ไม่มีรูท

พวกคุณที่อาศัยอยู่ในประเทศสมาชิกของสหภาพยุโรปอาจพบคำเตือนเมื่อพยายามเพิ่มระดับเสียงของหูฟังของคุณดังที่แสดงในภาพคุณสมบัติด้านบน

ตามข้อบังคับที่กำหนดโดย European Committee for Electrotechnical Standarisation (CENELEC) อุปกรณ์อิเล็กทรอนิกส์ทั้งหมด อุปกรณ์ที่สามารถเล่นสื่อที่จำหน่ายหลังเดือนกุมภาพันธ์ 2013 จะต้องมีระดับเสียงเอาท์พุตเริ่มต้นสูงสุดที่ 85 เดซิเบล ผู้ใช้สามารถเลือกที่จะแทนที่คำเตือนเพื่อเพิ่มระดับเสียงได้สูงสุด 100 dB แต่ในการดำเนินการดังกล่าว คำเตือนจะต้องปรากฏขึ้นอีกครั้งหลังจากเล่นเพลงเป็นเวลา 20 ชั่วโมง

ในขณะที่เราจะไม่อภิปรายเกี่ยวกับประสิทธิภาพของกฎระเบียบนี้ในการส่งเสริมความดี สุขภาพ ผู้ใช้ที่มักเลือกที่จะข้ามคำเตือนนี้มักจะสงสัยว่ากระบวนการนี้จะเป็นไปได้หรือไม่ อัตโนมัติ มีหลายกรณีที่การต้องยอมรับการจำกัดระดับเสียงด้วยตนเอง ค่อนข้างน่ารำคาญ เช่น เมื่อคุณเริ่ม เล่นเพลงจากระยะไกลบนอุปกรณ์ Bluetooth ดังนั้นเราจึงต้องการกำหนดค่าเกี่ยวกับการหาวิธีหลีกเลี่ยงสิ่งนี้โดยอัตโนมัติ คำเตือน.

วิธีแก้ปัญหาเพื่อหลีกเลี่ยง "ขีดจำกัดปริมาณที่ปลอดภัย" นั้นมีอยู่แล้วหากคุณค้นหาในฟอรัมของเรา แต่จนถึงตอนนี้ วิธีแก้ปัญหาทั้งหมดได้กำหนดให้คุณต้อง ติดตั้ง Xposed โมดูล. สิ่งนี้จำเป็นต้องจำกัดผู้ที่สามารถใช้งานได้ เนื่องจาก Xposed Framework กำหนดให้คุณต้องมีสิทธิ์เข้าถึงรูท (ซึ่งหมายถึงการปลดล็อค bootloader บนโทรศัพท์ส่วนใหญ่) รวมถึงต้องใช้ Android เวอร์ชันก่อน Nougat แต่หลังจากศึกษา AOSP และการตั้งค่าระบบต่างๆ แล้ว ฉันได้ค้นพบวิธีเลี่ยงระดับเสียงสูง/ขีดจำกัดเสียงที่ปลอดภัย บนอุปกรณ์ทั้งหมดโดยไม่ต้องรูท

โดยการปฏิบัติตามคู่มือนี้ คุณยอมรับความเสี่ยงใดๆ ที่เกี่ยวข้องกับการฟังสื่อในระดับเสียงสูง


บทช่วยสอนการบายพาสคำเตือนด้วยเสียงอย่างปลอดภัย

หากคุณได้อ่านบทความก่อนหน้าของฉันเกี่ยวกับ เปิดใช้งานโหมด Immersive โดยไม่ต้องเข้าถึงรูทจากนั้นคุณอาจเริ่มลองใช้การตั้งค่าบางอย่างที่ซ่อนอยู่ในโทรศัพท์ของคุณแล้ว หากคุณยังไม่มี ฉันขอแนะนำให้คุณทำ เนื่องจากฉันพบว่าอุปกรณ์เกือบทุกเครื่องมีสารพัดมากมายที่รอให้คุณค้นพบ เคล็ดลับนี้ไม่แตกต่างกันเนื่องจากเราจะใช้คุณสมบัติของระบบเพื่อหลีกเลี่ยงคำเตือนด้วยเสียงที่ปลอดภัย

โดยเฉพาะเราจะทำการปรับเปลี่ยนระบบ ทรัพย์สินระดับโลก เสียง_safe_volume_state ทั้งขณะบู๊ตและเป็นระยะ ๆ ดังนั้น Android จะคิดว่าคุณยินยอมที่จะข้ามคำเตือนเสมอ คุณสมบัตินี้คือ กำหนดไว้ใน AOSPซึ่งเรากำลังทำซ้ำด้านล่าง คุณสมบัตินี้สามารถรับได้หลายสถานะ ตั้งแต่ 0-3 30 วินาทีหลังจากบูตหรือหลังจากเล่นเพลงต่อเนื่องทุกๆ 20 ชั่วโมง สถานะจะถูกตั้งค่าเป็น '0' หรือ 'ไม่ได้กำหนดค่า' จากนั้นจะถูกตั้งค่าเป็น '1' สำหรับ 'ปิดการใช้งาน' หรือ '3' สำหรับ 'เปิดใช้งาน' ขึ้นอยู่กับคุณ รหัสประเทศมือถือ. หากคุณอาศัยอยู่ในสหภาพยุโรป คุณสมบัตินี้จะถูกตั้งค่าเป็น '3' ตามค่าเริ่มต้น แต่จะเปลี่ยนเป็น '2' สำหรับ 'ไม่ได้ใช้งาน' เมื่อใดก็ตามที่ผู้ใช้ข้ามคำเตือนระดับเสียงด้วยตนเอง เราจะเปลี่ยนค่าของคุณสมบัตินี้เป็นสถานะ 'ไม่ใช้งาน' (การเปลี่ยนเป็น 'ปิดการใช้งาน' ไม่เคยได้ผลสำหรับฉันในกรณีที่คุณสงสัย)


//
// 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

อ่านเพิ่มเติม

คุณจะต้องติดตั้งก่อน ทาซเคอร์ และ เครื่องมืออัตโนมัติ เราก็เลยทำให้เคล็ดลับนี้เป็นแบบอัตโนมัติได้ ในทางเทคนิคแล้ว สามารถใช้แอปอัตโนมัติอื่นๆ นอกเหนือจาก Tasker ได้ แต่ฉันคุ้นเคยกับ Tasker เท่านั้น ดังนั้นคุณจะต้องทำการปรับเปลี่ยนด้วยตัวเองหากคุณต้องการใช้แอปอื่น อย่างไรก็ตาม เครื่องมืออัตโนมัติมีความสำคัญอย่างยิ่งต่อเคล็ดลับนี้ เนื่องจากปลั๊กอินนี้จะช่วยให้เราสามารถควบคุมการตั้งค่าความปลอดภัยบนอุปกรณ์ของเราได้

ตามที่อธิบายไว้ในบทความของฉันเกี่ยวกับการสลับโหมด Immersive เราจำเป็นต้องให้สิทธิ์ WRITE_SECURE_SETTINGS การอนุญาตเครื่องมืออัตโนมัติ เนื่องจากคำสั่งสำหรับควบคุมสถานะระดับเสียงที่ปลอดภัยถูกกำหนดไว้ภายใต้ การตั้งค่า. ทั่วโลก แม้ว่าไวยากรณ์ที่แน่นอนสำหรับคำสั่งจะถูกซ่อนอยู่ใน AOSP (เช่นเดียวกับที่ใช้กับโหมด Immersive) หากคุณได้ให้สิทธิ์ WRITE_SECURE_SETTINGS แก่ AutoTools แล้ว หลังจากที่ได้อ่านบทช่วยสอนก่อนหน้าของฉันเกี่ยวกับโหมด Immersive แล้ว คุณสามารถข้ามส่วนถัดไปได้ ถ้าไม่เช่นนั้นคุณจะต้องตั้งค่ามัน


ภายใต้ระบบการจัดการสิทธิ์ของ Android แอปพลิเคชันจะกำหนดการอนุญาตที่ต้องการได้รับในไฟล์ Manifest จากนั้นผู้ใช้สามารถให้หรือปฏิเสธสิทธิ์ในการติดตั้ง (ก่อน Marshmallow) หรือตามความต้องการ (Marshmallow+) อย่างไรก็ตาม มีการอนุญาตบางอย่างที่แอปพลิเคชันไม่สามารถให้ได้ แม้ว่าพวกเขาจะร้องขอใน Manifest เช่น WRITE_SECURE_SETTINGS. นี่เป็นเพราะว่าการให้สิทธิ์แก่แอปพลิเคชันใด ๆ ที่มีประสิทธิภาพเท่านี้จะทำให้แอปนั้นสามารถควบคุมอุปกรณ์ของคุณได้มากมาย

แต่มีวิธีแก้ไขวิธีหนึ่งที่เราสามารถใช้เพื่อให้สิทธิ์ WRITE_SECURE_SETTINGS แก่แอปใดๆ ที่เราต้องการ โดยใช้ของ ADB ผู้จัดการแพ็คเกจ (น.) เราสามารถให้สิทธิ์ใด ๆ แก่แอปพลิเคชันใด ๆ ที่เราต้องการได้ (โดยที่แอปพลิเคชันร้องขอสิทธิ์นั้นในไฟล์ Manifest)

สิ่งแรกที่คุณต้องทำคือ ติดตั้งไบนารี ADB บนคอมพิวเตอร์ของคุณตามด้วย ไดรเวอร์ที่เหมาะสมสำหรับอุปกรณ์ของคุณ. จากนั้น เปิดใช้งานการแก้ไขจุดบกพร่อง USB ในตัวเลือกนักพัฒนา (ไปที่การตั้งค่า -> เกี่ยวกับโทรศัพท์ และแตะที่หมายเลขบิลด์ 7 ครั้งหากคุณยังไม่ได้ดำเนินการ) และเชื่อมต่อโทรศัพท์ของคุณเข้ากับคอมพิวเตอร์ สุดท้าย ให้ส่งคำสั่งต่อไปนี้เมื่อคุณเปิดเทอร์มินัลแล้ว:

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

ตอนนี้ AutoTools จะสามารถเปลี่ยนการตั้งค่าส่วนกลาง การรักษาความปลอดภัย หรือระบบบนอุปกรณ์ของคุณได้ มีหลายวิธีที่คุณสามารถลองใช้การตั้งค่าเหล่านี้ รวมถึงรายการการตั้งค่าที่ใช้งานได้ แต่ละหมวดหมู่ขึ้นอยู่กับอุปกรณ์และรุ่นซอฟต์แวร์ของคุณโดยสิ้นเชิง แต่การสนทนานั้นเป็นอีกเรื่องหนึ่ง เวลา. ไม่ว่าในกรณีใด เราจะแสดงวิธีใช้เครื่องมืออัตโนมัติเพื่อควบคุมสถานะระดับเสียงที่ปลอดภัยต่อไป


ปิดการใช้งานคำเตือนเสียงที่ปลอดภัยเมื่อบู๊ต

นี่คือคำอธิบายโปรไฟล์สำหรับผู้ที่คุ้นเคยกับ Tasker หากคุณไม่คุ้นเคยกับ Tasker โปรดอ่านคำแนะนำทีละขั้นตอน

ปิดการใช้งานเสียงที่ปลอดภัยในการบู๊ต

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 ]

อ่านเพิ่มเติม

เปิด Tasker เพื่อให้เราสามารถสร้างโปรไฟล์ใหม่ได้ ที่มุมขวาล่าง ให้แตะ + ไอคอนเพื่อสร้างโปรไฟล์ใหม่ เพิ่มใหม่ เหตุการณ์ บริบทและไปที่ ทาซเคอร์ -> มอนิเตอร์เริ่ม เรากำลังใช้บริบทเหตุการณ์นี้ซึ่งจะทริกเกอร์เมื่อ Tasker เริ่มทำงานแทนที่จะเป็นบริบทเหตุการณ์ซึ่งจะเปิดใช้งานเมื่อบูทโทรศัพท์เนื่องจากแบบแรกมีความน่าเชื่อถือมากกว่าแบบหลัง

ไม่ว่าในกรณีใด ให้กดปุ่มย้อนกลับ เนื่องจากเราจะสร้างงานที่เกี่ยวข้องกับโปรไฟล์นี้ ตั้งชื่องานอะไรก็ได้ตามที่มันไม่สำคัญ เมื่อคุณเข้าสู่หน้าจอการสร้างงาน ให้กดที่ + ไอคอนที่ตรงกลางด้านล่างของหน้าจอเพื่อสร้างการดำเนินการใหม่ สำหรับการดำเนินการขั้นแรก ให้ไปที่ งาน -> รอ และปล่อยให้มันรอ 30 วินาที. นี่เป็นกฎสำหรับกฎ "30 วินาทีหลังบูต" ที่ใช้ใน Android เพื่อตั้งค่าสถานะระดับเสียงที่ปลอดภัย

จากนั้นสร้างการดำเนินการใหม่และไปที่ ปลั๊กอิน -> เครื่องมืออัตโนมัติ -> การตั้งค่าความปลอดภัย กดดินสอเพื่อเปิดหน้าจอการกำหนดค่าสำหรับ AutoTools ไปที่ การตั้งค่าแบบกำหนดเอง สำหรับประเภทการตั้งค่า ให้ป้อน ทั่วโลก. สำหรับชื่อให้ป้อน เสียง_safe_volume_state สำหรับประเภทอินพุตให้ทำ ภายใน สำหรับความคุ้มค่าจงสร้างมันขึ้นมา 2. ตรวจสอบให้แน่ใจว่าคุณใส่ทุกอย่างถูกต้อง การกำหนดค่าควรตรงกับภาพหน้าจอตรงกลางด้านล่าง จะต้องส่งคำสั่ง อย่างแน่นอน ตามที่ผมเขียนไว้ ไม่อย่างนั้นมันจะไม่มีผลกระทบใดๆ

เมื่อเสร็จแล้ว กลับออกไปที่เมนูหลักของ Tasker เนื่องจากเราจะต้องสร้างโปรไฟล์ใหม่ บัญชีที่เราเพิ่งสร้างขึ้นจะคำนึงถึงเมื่อมีการตั้งค่าสถานะวอลุ่มที่ปลอดภัยเป็นเวลา 30 วินาทีหลังจากการบูต แต่สำหรับ บรรดาผู้ที่แทบไม่เคยรีบูทอุปกรณ์ของคุณเลย เราจะสร้างโปรไฟล์ใหม่เพื่อตั้งค่านี้เป็นระยะ ค่า.


ปิดการใช้งานคำเตือนเสียงที่ปลอดภัยเป็นระยะ

นี่คือคำอธิบายโปรไฟล์สำหรับผู้ที่คุ้นเคยกับ Tasker หากคุณไม่คุ้นเคยกับ Tasker โปรดอ่านคำแนะนำทีละขั้นตอน

ปิดการใช้งานเสียงที่ปลอดภัยเป็นระยะ

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 ]

อ่านเพิ่มเติม

สร้างโปรไฟล์ใหม่ในครั้งนี้ด้วย เวลา บริบท. น่าเสียดายที่ฉันไม่ทราบวิธีการใด ๆ ในการรับเวลาสะสมปัจจุบันในการเล่นสื่อโดยไม่มี root ดังนั้นเราจะตั้งค่าสถานะวอลุ่มปลอดภัยเป็นไม่ทำงานเป็นระยะ ๆ แทนทุกๆ 24 ชั่วโมง (... ไม่ใช่ว่าพวกคุณฟังเพลง 20 ชั่วโมงภายใน 24 ชั่วโมงจริงๆ ใช่ไหม?) อย่างไรก็ตาม อินเทอร์เฟซของ Tasker สำหรับการตั้งค่างานเป็นระยะนั้นค่อนข้างแย่มาก แต่สิ่งสำคัญคือคุณต้องการตั้งค่าเวลา "จาก" และ "ถึง" ให้ในเวลาเดียวกัน ด้วยวิธีนี้ ทาซเคอร์จะปฏิบัติต่อมันเหมือนกับว่าคุณต้องการให้งานทริกเกอร์เพียงครั้งเดียวในเวลาที่กำหนดเท่านั้น (ฉันทำไว้ 1 นาทีก่อนเที่ยงคืน)

สำหรับงาน เพียงคัดลอกสิ่งที่คุณทำสำหรับ Action #2 ในโปรไฟล์ก่อนหน้า ไม่มีการดำเนินการใหม่หรือแตกต่างไปในกรณีนี้ เนื่องจากสิ่งที่เราทำคือเปลี่ยนค่าของคุณสมบัติระบบ Global นี้ทุกๆ 24 ชั่วโมง

เมื่อคุณได้ตั้งค่าโปรไฟล์ทั้งสองนี้แล้ว คุณก็ทำเสร็จแล้ว! รีบูทโทรศัพท์ของคุณ และตอนนี้คุณไม่ควรเห็นคำเตือน "ระดับเสียงที่ปลอดภัย" อีกต่อไปเมื่อคุณเสียบหูฟัง


ดาวน์โหลดและนำเข้าไปยังทาซเคอร์

และเช่นเคย เรากำลังจัดเตรียมไฟล์ XML ของสคริปต์ที่คุณสามารถดาวน์โหลดและนำเข้าได้ เพียงดาวน์โหลดไฟล์จากลิงก์ด้านล่างและบันทึกไว้ที่ใดก็ได้บนที่จัดเก็บข้อมูลภายในของคุณ เปิด Tasker และปิดการใช้งานโหมดเริ่มต้นในการตั้งค่า จากนั้นกลับไปที่หน้าจอหลักแล้วกดแท็บ "โปรไฟล์" ด้านบนค้างไว้ คุณจะเห็นป๊อปอัปโดยมีตัวเลือกใดตัวเลือกหนึ่งเป็น "นำเข้า" แตะที่นั้นและเรียกดูตำแหน่งที่คุณบันทึกไฟล์ .prf.xml และเลือกไฟล์นั้นที่จะนำเข้า ทำซ้ำสำหรับโปรไฟล์ที่สอง

ดาวน์โหลดโปรไฟล์ 'ปิดใช้งานคำเตือนเสียงที่ปลอดภัยเมื่อบูต'

ดาวน์โหลดโปรไฟล์ 'ปิดใช้งานคำเตือนด้วยเสียงอย่างปลอดภัยเป็นระยะ'

เราหวังว่าคุณจะพบว่าเคล็ดลับนี้มีประโยชน์ แจ้งให้เราทราบในความคิดเห็นด้านล่างหากสิ่งนี้เหมาะกับคุณ!