27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Uygulama geliştiriciler için ses gecikmesi
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Mümkün olan en düşük ses gecikmesi için Oboe'yu kullanmanızı öneririz.
Obua
Oboe, yerel ses kullanır ve Android 8.1 ve sonraki sürümler için AAudio, Android'in eski sürümleri için ise OpenSL ES üzerine kuruludur. Bir cihaz için mümkün olan en düşük gecikmeyi elde etmek isterseniz setPerformanceMode(oboe::PerformanceMode::LowLatency)
ve setSharingMode(oboe::SharingMode::Exclusive)
değerlerini ayarlayın.
Obua hakkında daha fazla bilgi için Başlangıç kılavuzuna, README.md
ve Tam kılavuza göz atın. Oboe'yu kullanan örnek bir uygulama için Soundboard uygulamasına bakın.
Not: Gecikmeye duyarlı uygulamalar için Java'da çıkış ses akışları oluşturmak üzere AudioTrack kullanıyorsanız PERFORMANCE_MODE_LOW_LATENCY
modunu kullanın.
Uygulama kontrol listesi
Android doğal sesini kullanmak için:
-
Android NDK'yı indirip yükleyin.
-
Oboe için Başlangıç kılavuzunu uygulayın.
-
Oboe oluşturucuda
setPerformanceMode(oboe::PerformanceMode::LowLatency)
ve setSharingMode(oboe::SharingMode::Exclusive)
'yi çağırın.
-
android.media.AudioManager.getProperty(java.lang.String) tarafından döndürülen önerilen yerel arabellek boyutunu ve örnekleme hızını kullanın.
Not: Giriş için de aynı arabellek boyutu ve örnekleme hızı kullanılmalıdır.
-
Geri çağırma işleyicilerinizi kısa tutun, ani CPU kullanımı veya sınırsız engelleme olmadan. Öncelik tersine çevirme işlemlerinden kaçının.
-
Giriş ve çıkış geri çağırma işleyicileri ile geri çağırma işleyicileri ve uygulamanızın geri kalanı arasında iletişim kurmak için engellemeyen algoritmalar kullanmayı düşünün.
Diğer kaynaklar
source.android.com
source.android.com sitesi, öncelikle Android cihazlar üreten OEM'ler ve bu OEM'lere bileşen tedarik eden SoC tedarikçileri için tasarlanmıştır.
Ancak bu sitede gecikmeyle ilgili çok sayıda yararlı bilgi bulunduğundan siteyi incelemenizi öneririz. Ses gecikmesi başlıklı makaleleri inceleyin.
android-ndk
Android doğal sesinin nasıl kullanılacağıyla ilgili sorularınız varsa android-ndk tartışma grubunda sorabilirsiniz.
Oboe'da hataları bildirme
Oboe'yu kullanırken sorun yaşıyorsanız hata kaydı oluşturabilirsiniz.
Videolar
- Oboe'yu kullanmaya başlama
- Düşük Gecikmeli Ses: Kulaklarınız Değerli
- Android Dev Summit 2018.
- Android'de kazanma - Android ses uygulamasını optimize etme
- Android Developer Challenge 2018.
- Android'de yüksek performanslı ses
(Google I/O 2013)
- Videonun tamamı gecikmeyle ilgilidir.
- Android'de mükemmel multimedya deneyimleri oluşturma
(Google I/O 2014)
- İlk 14 dakika genel olarak ses ve özellikle giriş gecikmesi hakkındadır.
- Ses gecikmesi: arabellek boyutları
(100 Days of Google Dev)
- Ses gecikmesi, arabellek boyutları ve görev planlaması arasındaki ilişkiyi açıklar.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-03-26 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-03-26 UTC."],[],[],null,["# Audio latency for app developers\n\nFor the lowest possible audio latency, we recommend you use [Oboe](https://developer.android.com/games/sdk/oboe).\n\nOboe\n----\n\n[Oboe](https://github.com/google/oboe) uses native audio and is built\non AAudio for Android 8.1+ and OpenSL ES for older versions of Android. To achieve the lowest\npossible latency for a device, set `setPerformanceMode(oboe::PerformanceMode::LowLatency)`\nand `setSharingMode(oboe::SharingMode::Exclusive)`.\nSee the [Getting started guide](https://github.com/google/oboe/blob/main/docs/GettingStarted.md),\n[`README.md`](https://github.com/google/oboe/blob/main/README.md),\nand [Full guide](https://github.com/google/oboe/blob/main/docs/FullGuide.md) for more\ninformation on Oboe. Refer to the [Soundboard app](https://github.com/google/oboe/tree/main/samples/SoundBoard)\nfor a sample app using Oboe.\n\n**Note:** If you use [AudioTrack](https://developer.android.com/reference/android/media/AudioTrack)\nfor creating output audio streams in Java for latency sensitive applications, use the [`PERFORMANCE_MODE_LOW_LATENCY`](https://developer.android.com/reference/android/media/AudioTrack#PERFORMANCE_MODE_LOW_LATENCY)\nmode.\n\n\u003cbr /\u003e\n\nImplementation checklist\n------------------------\n\nTo use Android native audio:\n\n1. Download and install the [Android NDK](https://developer.android.com/tools/sdk/ndk/index.html).\n2. Follow the [Getting started guide](https://github.com/google/oboe/blob/main/docs/GettingStarted.md) for Oboe.\n3. Call `setPerformanceMode(oboe::PerformanceMode::LowLatency)` and `setSharingMode(oboe::SharingMode::Exclusive)` on the Oboe builder.\n4. Use the recommended native buffer size and sample rate returned by [android.media.AudioManager.getProperty(java.lang.String)](http://developer.android.com/reference/android/media/AudioManager.html#getProperty(java.lang.String)).\n\n **Note:** The same buffer size and sample rate should also be used for input.\n5. Keep your callback handlers short, without bursty CPU usage or unbounded blocking. Avoid [priority inversion.](/docs/core/audio/avoiding_pi)\n6. Consider using [non-blocking algorithms](/docs/core/audio/avoiding_pi#nonBlockingAlgorithms) to communicate between input and output callback handlers, and between the callback handlers and the rest of your application.\n\nOther resources\n---------------\n\n### source.android.com\n\n\nThe site [source.android.com](/)\nis primarily designed for OEMs building Android\ndevices, and the SoC vendors who supply components to these OEMs.\n\n\nHowever, there is a wealth of useful information about latency at this site, so\nyou may want to review it. See the articles at\n[Audio latency.](/docs/core/audio/latency/latency)\n\n### android-ndk\n\n\nIf you have questions about how to use Android native audio, you can ask at the discussion group\n[android-ndk](https://groups.google.com/forum/#!forum/android-ndk).\n\n### Report bugs on Oboe\n\n\nIf you have issues using Oboe, you can\n[file a bug](https://github.com/google/oboe/issues).\n\n### Videos\n\n[Getting started with Oboe](https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_duWv9IPNvx9YBudNMmLSa)\n[Low Latency Audio - Because Your Ears Are Worth It](https://www.youtube.com/watch?v=8vOf_fDtur4)\n: Android Dev Summit 2018.\n\n[Winning on Android - How to optimize an Android audio app](https://www.youtube.com/watch?v=tWBojmBpS74)\n: Android Developer Challenge 2018.\n\n[High performance audio on Android](https://youtu.be/d3kfEeMZ65c)\n(Google I/O 2013)\n: The whole video is about latency.\n\n[Building great multi-media experiences on Android](https://youtu.be/92fgcUNCHic)\n(Google I/O 2014)\n: The first 14 minutes are about audio in general and input latency in particular.\n\n[Audio latency: buffer sizes](https://youtu.be/PnDK17zP9BI)\n(100 Days of Google Dev)\n: Describes the relationship between audio latency, buffer sizes, and task scheduling."]]