การเปิดตัว Android 10 มีข้อกำหนดต่อไปนี้
สำหรับการจับภาพด้วย VOICE_COMMUNICATION
- การติดตั้งใช้งานควรมีการตัดเสียงก้อง (AEC) ในเส้นทางการจับภาพเมื่อ
จับภาพด้วย
VOICE_COMMUNICATION
- หากมีการระบุ AEC จะต้องค้นพบและควบคุมได้ผ่าน SDK API
AcousticEchoCanceler
แพลตฟอร์ม Android มีเอฟเฟ็กต์เสียงในอุปกรณ์ที่รองรับในแพ็กเกจ
audiofx
ซึ่งนักพัฒนาแอปสามารถเข้าถึงได้
ตัวอย่างเช่น Nexus 10 รองรับเอฟเฟกต์การประมวลผลล่วงหน้าต่อไปนี้
จับคู่กับอินสแตนซ์ AudioSource
เอฟเฟกต์การประมวลผลล่วงหน้าจะจับคู่กับโหมด Use Case ที่มีการขอ
การประมวลผลล่วงหน้า ในการพัฒนาแอป Android กรณีการใช้งานจะเรียกว่าAudioSource
อินสแตนซ์ และนักพัฒนาแอปจะขอใช้AudioSource
การแยกส่วนแทนที่จะใช้อุปกรณ์ฮาร์ดแวร์เสียงจริง
Android Audio Policy Manager จะเชื่อมโยงอินสแตนซ์ AudioSource
กับการกำหนดค่าเส้นทางการจับภาพที่ระบุ (รวมถึงอุปกรณ์ เกน และการประมวลผลล่วงหน้า) ตามกฎเฉพาะของผลิตภัณฑ์ แหล่งข้อมูลต่อไปนี้จะแสดงต่อผู้พัฒนา
android.media.MediaRecorder.AudioSource.CAMCORDER
android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION
android.media.MediaRecorder.AudioSource.VOICE_CALL
android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK
android.media.MediaRecorder.AudioSource.VOICE_UPLINK
android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION
android.media.MediaRecorder.AudioSource.MIC
android.media.MediaRecorder.AudioSource.DEFAULT
เอฟเฟกต์การประมวลผลล่วงหน้าเริ่มต้นที่ใช้กับอินสแตนซ์ AudioSource
แต่ละรายการ
จะระบุไว้ในไฟล์ /vendor/etc/audio_effects.xml
หากต้องการ
ระบุเอฟเฟกต์เริ่มต้นของคุณเองสำหรับทุกAudioSource
อินสแตนซ์ ให้สร้างไฟล์
/vendor/etc/audio_effects.xml
และระบุ
เอฟเฟกต์การประมวลผลล่วงหน้าที่จะเปิด ดูตัวอย่างได้ที่การติดตั้งใช้งานสำหรับ
Nexus 10 ใน device/samsung/manta/audio_effects.xml
อินสแตนซ์ AudioEffect
จะรับและปล่อยเซสชันเมื่อสร้างและทำลาย
ซึ่งจะช่วยให้เอฟเฟกต์ (เช่น ตัวเพิ่มความดัง) ยังคงอยู่ตลอด
เซสชัน
ตัวอย่างต่อไปนี้เปิดใช้การประมวลผลล่วงหน้าสำหรับอินสแตนซ์ VoIP
AudioSource
และ Camcorder AudioSource
การประกาศAudioSource
การกำหนดค่าในลักษณะนี้จะทำให้เฟรมเวิร์ก
ขอใช้เอฟเฟกต์เหล่านั้นจาก HAL โดยอัตโนมัติ
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
การปรับแต่งแหล่งที่มา
AudioSource
ไม่ได้มีข้อกำหนดที่ชัดเจนเกี่ยวกับ
การเพิ่มเสียงหรือการประมวลผลเสียง ยกเว้นการจดจำเสียง
(VOICE_RECOGNITION
) ข้อกำหนดสำหรับการจดจำเสียงมีดังนี้
- การตอบสนองต่อความถี่คงที่ (+/- 3 dB) ตั้งแต่ 100 Hz ถึง 4 kHz
- การกำหนดค่าการพูดในระยะใกล้: 90 dB SPL อ่านค่า RMS เป็น 2500 (ตัวอย่าง 16 บิต)
- ระดับจะติดตามเชิงเส้นจาก -18 dB ถึง +12 dB ที่สัมพันธ์กับ 90 dB SPL
- THD < 1% (90 dB SPL ในช่วง 100 ถึง 4000 Hz)
- ข้อกำหนดสำหรับคลื่นความถี่สูงที่อยู่ใกล้ช่วงอัลตราซาวด์ (สำหรับการทดสอบ โปรดดูการทดสอบคลื่นความถี่สูงที่อยู่ใกล้ช่วงอัลตราซาวด์)
- รองรับ
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
ตามที่กำหนดไว้ในส่วน 7.8.3 ของ CDD - รองรับอัตราการสุ่มตัวอย่าง 44100 หรือ 48000 อย่างใดอย่างหนึ่งหรือทั้ง 2 อย่างโดยไม่มีตัวกรองแบบแถบผ่านหรือ ตัวกรองป้องกันการเกิดรอยหยัก
- รองรับ
- ปิดใช้เอฟเฟกต์/การประมวลผลล่วงหน้าโดยค่าเริ่มต้น
ตัวอย่างการปรับแต่งเอฟเฟกต์ต่างๆ สำหรับแหล่งที่มาต่างๆ มีดังนี้
- การตัดเสียงรบกวน
- ปรับแต่งสำหรับตัวระงับเสียงลมสำหรับ
CAMCORDER
- ปรับแต่งสำหรับตัวระงับเสียงรบกวนแบบคงที่สำหรับ
VOICE_COMMUNICATION
- ปรับแต่งสำหรับตัวระงับเสียงลมสำหรับ
- การควบคุมค่าเกนอัตโนมัติ
- ปรับแต่งสำหรับการพูดในระยะใกล้สำหรับ
VOICE_COMMUNICATION
และไมโครโฟนหลักของโทรศัพท์ - ปรับแต่งสำหรับการพูดจากระยะไกลสำหรับ
CAMCORDER
- ปรับแต่งสำหรับการพูดในระยะใกล้สำหรับ
แหล่งข้อมูล
ดูข้อมูลเพิ่มเติมได้ที่แหล่งข้อมูลต่อไปนี้
- เอกสารประกอบของ Android สำหรับ audiofx package
- เอกสารประกอบ Android สำหรับ เอฟเฟกต์เสียงการ ลดเสียงรบกวน
/device/google/crosshatch/audio_effects.xml
ไฟล์สำหรับ Pixel 3