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

เราขอแนะนำให้คุณใช้ Oboe เพื่อให้เกิดเวลาในการตอบสนองของเสียงน้อยที่สุด

Oboe

Oboe ใช้เสียงเนทีฟและสร้างขึ้นบน AAudio สำหรับ Android 8.1 (API ระดับ 27) ขึ้นไปและ OpenSL ES หากต้องการให้เกิดการหน่วงเวลาน้อยที่สุดสำหรับอุปกรณ์ ให้ตั้งค่า setPerformanceMode(oboe::PerformanceMode::LowLatency) และ setSharingMode(oboe::SharingMode::Exclusive) ดูข้อมูลเพิ่มเติมเกี่ยวกับ Oboe ได้ที่คู่มือเริ่มต้นใช้งาน, README.md และคู่มือ ฉบับเต็ม ดูแอป 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-ndk

หากมีคำถามเกี่ยวกับวิธีใช้เสียงเนทีฟของ Android โปรดเข้าร่วม กลุ่มสนทนา android-ndk

รายงานข้อบกพร่องใน Oboe

หากพบปัญหาในการใช้ Oboe โปรดยื่นเรื่องรายงานข้อบกพร่อง

วิดีโอ