2010-04-08 28 views
8

Android'de AudioTrack ve AudioRecord API'lerinin altında yatan C++ sınıflarının her ikisi de JNI aracılığıyla görüntülenmeyen bir latency() yöntemine sahip olduğunu fark ettim. Görebildiğim kadarıyla, AudioRecord'daki latency() yöntemi, donanım gecikmesini hesaba katmaz (bunun için bir TODO yorumu vardır), ancak AudioTrack'daki latency() yöntemi, donanım gecikmesini ekler.Android'in AudioTrack sınıfından gecikme bilgilerini nasıl alabilirim?

Bu gecikme değerini kesinlikle AudioTrack'dan almam gerekir. Bunu yapabileceğimin herhangi bir yolu var mı? Köklü bir telefon gerektirmediği sürece ne tür bir çılgın kesmeye ihtiyaç duyulduğu umrumda değil (sonuçta ortaya çıkan kod pazarda bir uygulama olarak paketlenmelidir).

cevap

0

Üzgünüz, ancak gerçek arabellek geciktirme gecikmesine mi ihtiyacınız var? Maalesef, google tarafından önerilmeyen ve yeni Android sürümlerinde kırışıklıklar haline dönüşebilen bazı hackler kullanmadıkça bu değeri alamayacaksınız. Bunu neden yapmanız gerektiğini paylaşabilir misiniz? Neyi başarmaya çalıştığınıza dayalı alternatif çözümler olabilir.

+0

Ne tür hackler de gönderiyorsunuz? –

İlgili konular