เวลาแฝงของเสียงสำหรับนักพัฒนาแอป

เพื่อให้มีเวลาแฝงของเสียงต่ำที่สุด เราขอแนะนำให้คุณใช้ 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:

  1. ดาวน์โหลดและติดตั้ง Android NDK
  2. ปฏิบัติตาม คู่มือการเริ่มต้นใช้ งานสำหรับ Oboe
  3. เรียก setPerformanceMode(oboe::PerformanceMode::LowLatency) และ setSharingMode(oboe::SharingMode::Exclusive) บนตัวสร้าง Oboe
  4. ใช้ขนาดบัฟเฟอร์ดั้งเดิมที่แนะนำและอัตราตัวอย่างที่ส่งคืนโดย android.media.AudioManager.getProperty(java.lang.String)

    หมายเหตุ: ควรใช้ขนาดบัฟเฟอร์และอัตราตัวอย่างเดียวกันสำหรับอินพุตด้วย

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

ทรัพยากรอื่นๆ

ที่มา.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)
อธิบายความสัมพันธ์ระหว่างเวลาแฝงของเสียง ขนาดบัฟเฟอร์ และการกำหนดเวลางาน