เพื่อให้มีเวลาแฝงของเสียงต่ำที่สุด เราขอแนะนำให้คุณใช้ Oboe
โอโบ
Oboe ใช้เสียงเนทิฟและสร้างขึ้นบน AAudio สำหรับ Android 8.1+ และ OpenSL ES สำหรับ Android เวอร์ชันเก่า เพื่อให้อุปกรณ์มีเวลาแฝงน้อยที่สุด ให้ตั้งค่า setPerformanceMode(oboe::PerformanceMode::LowLatency)
และ setSharingMode(oboe::SharingMode::Exclusive)
ดู คู่มือการเริ่มต้นใช้ README.md
และ คู่มือฉบับเต็ม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Oboe โปรดดู แอป Soundboard สำหรับแอปตัวอย่างที่ใช้ Oboe
หมายเหตุ: หากคุณใช้ AudioTrack เพื่อสร้างสตรีมเสียงเอาต์พุตใน Java สำหรับแอปพลิเคชันที่มีความหน่วงแฝง ให้ใช้โหมด PERFORMANCE_MODE_LOW_LATENCY
รายการตรวจสอบการนำไปปฏิบัติ
หากต้องการใช้เสียงเนทีฟของ Android:
- ดาวน์โหลดและติดตั้ง Android NDK
- ปฏิบัติตาม คู่มือการเริ่มต้นใช้ งานสำหรับ Oboe
- เรียก
setPerformanceMode(oboe::PerformanceMode::LowLatency)
และsetSharingMode(oboe::SharingMode::Exclusive)
บนตัวสร้าง Oboe - ใช้ขนาดบัฟเฟอร์ดั้งเดิมที่แนะนำและอัตราตัวอย่างที่ส่งคืนโดย android.media.AudioManager.getProperty(java.lang.String)
หมายเหตุ: ควรใช้ขนาดบัฟเฟอร์และอัตราตัวอย่างเดียวกันสำหรับอินพุตด้วย
- ทำให้ตัวจัดการการเรียกกลับของคุณสั้นลง โดยไม่ต้องใช้ CPU มากเกินไปหรือการบล็อกที่ไม่จำกัด หลีกเลี่ยง การผกผันลำดับความสำคัญ
- พิจารณาใช้ อัลกอริธึมที่ไม่ปิดกั้น เพื่อสื่อสารระหว่างตัวจัดการการเรียกกลับอินพุตและเอาต์พุต และระหว่างตัวจัดการการเรียกกลับและส่วนที่เหลือของแอปพลิเคชันของคุณ
ทรัพยากรอื่นๆ
ที่มา.android.com
ไซต์ source.android.com ได้รับการออกแบบมาเป็นหลักสำหรับ OEM ที่สร้างอุปกรณ์ Android และผู้จำหน่าย SoC ที่จัดหาส่วนประกอบให้กับ OEM เหล่านี้
อย่างไรก็ตาม มีข้อมูลที่เป็นประโยชน์มากมายเกี่ยวกับความล่าช้าในไซต์นี้ ดังนั้นคุณอาจต้องการตรวจสอบข้อมูลดังกล่าว ดูบทความที่ เวลาแฝงของเสียง
android-ndk
หากคุณมีคำถามเกี่ยวกับวิธีใช้เสียงเนทีฟของ Android คุณสามารถถามได้ที่กลุ่มสนทนา android-ndk
รายงานข้อบกพร่องเกี่ยวกับ Oboe
หากคุณมีปัญหาในการใช้ Oboe คุณสามารถ แจ้งข้อบกพร่องได้
วิดีโอ
- เริ่มต้นกับโอโบ
- เสียงที่มีความหน่วงต่ำ - เพราะหูของคุณคุ้มค่า
- การประชุมสุดยอดนักพัฒนา Android 2018
- ชนะบน Android - วิธีเพิ่มประสิทธิภาพแอปเสียง Android
- ความท้าทายของนักพัฒนา Android 2018
- เสียงประสิทธิภาพสูงบน Android (Google I/O 2013)
- วิดีโอทั้งหมดเกี่ยวกับเวลาในการตอบสนอง
- การสร้างประสบการณ์มัลติมีเดียที่ยอดเยี่ยมบน Android (Google I/O 2014)
- 14 นาทีแรกเป็นเรื่องเกี่ยวกับเสียงโดยทั่วไปและโดยเฉพาะเวลาแฝงของอินพุต
- เวลาแฝงของเสียง: ขนาดบัฟเฟอร์ (100 วันของ Google Dev)
- อธิบายความสัมพันธ์ระหว่างเวลาแฝงของเสียง ขนาดบัฟเฟอร์ และการกำหนดเวลางาน