เราขอแนะนำให้ใช้ Oboe เพื่อให้เวลาในการตอบสนองของเสียงต่ำที่สุด
ปี่โอโบ
Oboe ใช้เสียงแบบเนทีฟและสร้างขึ้นจาก AAudio สำหรับ Android 8.1 ขึ้นไป และ OpenSL ES สำหรับ Android เวอร์ชันเก่า หากต้องการลดเวลาในการตอบสนองของอุปกรณ์ให้เหลือน้อยที่สุด ให้ตั้งค่า setPerformanceMode(oboe::PerformanceMode::LowLatency)
และ setSharingMode(oboe::SharingMode::Exclusive)
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Oboe ได้ในคู่มือเริ่มต้นใช้งาน, README.md
และคู่มือฉบับเต็ม ดูตัวอย่างแอปที่ใช้ Oboe ได้ในแอป Soundboard
หมายเหตุ: หากใช้ 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 แบบฉับพลันหรือการบล็อกแบบไม่จำกัด หลีกเลี่ยงการเปลี่ยนลําดับความสําคัญ
- ลองใช้อัลกอริทึมแบบไม่บล็อกเพื่อสื่อสารระหว่างตัวแฮนเดิลการเรียกคืนอินพุตและเอาต์พุต และระหว่างตัวแฮนเดิลการเรียกคืนกับแอปพลิเคชันส่วนที่เหลือ
ทรัพยากรอื่นๆ
source.android.com
เว็บไซต์ source.android.com ออกแบบมาเพื่อ OEM ที่สร้างอุปกรณ์ Android และผู้จำหน่าย SoC ที่ส่งชิ้นส่วนให้กับ OEM เหล่านี้เป็นหลัก
อย่างไรก็ตาม เว็บไซต์นี้มีข้อมูลที่เป็นประโยชน์มากมายเกี่ยวกับเวลาในการตอบสนอง คุณจึงควรอ่านข้อมูลดังกล่าว ดูบทความที่หัวข้อเวลาในการตอบสนองของเสียง
android-ndk
หากมีคำถามเกี่ยวกับวิธีใช้เสียงแบบเนทีฟของ Android โปรดถามในกลุ่มสนทนา android-ndk
รายงานข้อบกพร่องใน Oboe
หากพบปัญหาในการใช้ Oboe คุณสามารถรายงานข้อบกพร่องได้
วิดีโอ
- เริ่มต้นใช้งาน Oboe
- เสียงที่มีเวลาในการตอบสนองต่ำ - เพราะหูของคุณมีค่าควรแก่การฟัง
- Android Dev Summit 2018
- การประสบความสำเร็จใน Android - วิธีเพิ่มประสิทธิภาพแอปเสียงสำหรับ Android
- Android Developer Challenge 2018
- เสียงประสิทธิภาพสูงใน Android (Google I/O 2013)
- วิดีโอทั้งเรื่องเกี่ยวกับเวลาในการตอบสนอง
- การสร้างประสบการณ์การใช้งานมัลติมีเดียที่ยอดเยี่ยมบน Android (Google I/O 2014)
- ช่วง 14 นาทีแรกเป็นเรื่องเกี่ยวกับเสียงโดยทั่วไปและเวลาในการตอบสนองของอินพุตโดยเฉพาะ
- เวลาในการตอบสนองของเสียง: ขนาดบัฟเฟอร์ (100 Days of Google Dev)
- อธิบายความสัมพันธ์ระหว่างเวลาในการตอบสนองของเสียง ขนาดบัฟเฟอร์ และการกําหนดเวลางาน