Mantıksal akış başlatmadan önce uygulama, mantıksal akışta kullanılan ses özellikleriyle aynı ses özelliklerini kullanarak ses odağı ister. Uygulama, otomotiv kullanım alanlarında beklendiği gibi çalışmak için odak kaybına saygı duymalıdır.
Odaklanma isteği göndermeniz önerilir ancak sistem bunu zorunlu kılmaz. Bu nedenle, odaklanmayı birincil ses kontrol mekanizması olarak değil, oynatma sırasında çakışmayı dolaylı olarak kontrol etme ve önleme aracı olarak değerlendirin. Araç, ses alt sisteminin çalışması için odak sistemine bağlı olmamalıdır.
Odak etkileşimleri
AAOS'u desteklemek için ses odağı istekleri, isteğin CarAudioContext
ile mevcut odak sahiplerinin CarAudioContext
arasındaki önceden tanımlanmış etkileşimlere göre işlenir. Üç tür etkileşim vardır:
- Özel
- Reddet
- Eşzamanlı
Özel etkileşim
Bu, Android ile en sık kullanılan etkileşim modelidir.
Özel etkileşimlerde, aynı anda yalnızca bir uygulamanın odaklanmasına izin verilir.
Bu nedenle, gelen odak isteğine odak verilirken mevcut odak sahibi odağı kaybeder. Her iki uygulama da medya oynattığı için yalnızca bir uygulamanın odaklanmasına izin verilir. Sonuç olarak, yeni başlatılan uygulamanın odaklanma isteği AUDIOFOCUS_REQUEST_GRANTED
ile döndürülürken, şu anda çalan müzik uygulaması, yapılan isteğin türüne karşılık gelen bir kayıp durumuyla odaklanma değişikliği etkinliği alır.
Etkileşimi reddetme
Reddetme etkileşimlerinde gelen istek her zaman reddedilir. Örneğin, devam eden bir arama sırasında müzik çalmaya çalışırken. Bu durumda, Arama uygulaması bir arama için ses odağını tutuyorsa ve ikinci bir uygulama müzik çalmak için odak isteğinde bulunursa müzik uygulaması, isteğe yanıt olarak AUDIOFOCUS_REQUEST_FAILED
alır. Odaklanma isteği reddedildiğinden, mevcut odaklanma sahibine odaklanma kaybı gönderilmez.
Eşzamanlı etkileşim
AAOS'a özgü olan eşzamanlı etkileşimlerdir. Bu, arabada ses odaklanması isteyen uygulamalara diğer uygulamalarla eşzamanlı olarak odaklanma olanağı tanır. Aynı anda etkileşimde bulunulabilmesi için aşağıdaki koşulların karşılanması gerekir. Şunlar:
Gelen odaklanma isteği, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK değerini istemelidir.
Mevcut odak tutucu, setPauseWhenDucked(true) değerini ayarlamıyor.
Mevcut odak sahibi, ses kısma etkinliklerini almamayı tercih ediyor
Bu ölçütler karşılanırsa odak isteği AUDIOFOCUS_REQUEST_GRANTED
ile döndürülürken mevcut odak sahibinin odağında değişiklik olmaz. Ancak, mevcut odak sahibi duck etkinliklerini almayı veya duck edildiğinde duraklatmayı tercih ederse mevcut odak sahibi, özel bir etkileşimde olduğu gibi odağı kaybeder.
Eşzamanlı akışları yönetme
Eşzamanlı etkileşimin birçok kullanım alanı olsa da çıkış cihazları arasında donanım düzeyinde karıştırma ve ses kısma işlemlerini yaparken dikkatli olun. Aynı anda oynatılmasına izin verilen CarAudioContext
örneklerinin farklı çıkış cihazlarına yönlendirilmesini önemle tavsiye ederiz.
Eşzamanlı akışlar için ayrı çıkış cihazları kullanıldığında HAL, akışları karıştırmadan önce birinin sesini kısabilir veya fiziksel akışları araçtaki farklı hoparlörlere yönlendirebilir. Mantıksal akışlar Android'de karıştırılırsa kazançlar değiştirilmeden aynı fiziksel akışın bir parçası olarak sunulur.
Örneğin, gezinme ve medya aynı anda sunulduğunda, gezinme talimatlarının daha net duyulabilmesi için medya akışındaki kazanç geçici olarak azaltılabilir (veya kısılabilir). Alternatif olarak, gezinme akışı sürücü tarafındaki hoparlörlere yönlendirilebilirken medya, kabinin geri kalanında çalmaya devam edebilir.
Etkileşim matrisi
Bu tabloda, CarAudioService
tarafından tanımlanan etkileşim matrisi gösterilmektedir.
Her satır, mevcut odak sahibinin CarAudioContext
değerini, her sütun ise gelen isteğin CarAudioContext
değerini temsil eder.
Örneğin, bir müzik medya uygulaması, navigasyon uygulaması odak istediğinde odaklanmış durumdaysa matris, eşzamanlı etkileşimlerle ilgili diğer ölçütlerin karşılandığı varsayılarak iki etkileşimin eşzamanlı olarak oynatılabileceğini gösterir.
Eşzamanlı etkileşimler nedeniyle birden fazla odak tutucu olabilir. Bu durumda, hangi etkileşimin uygulanacağına karar verilmeden önce gelen odak isteği mevcut odak sahiplerinin her biriyle karşılaştırılır. Bu durumda, en koruyucu etkileşim kazanır. Önce reddedilir, sonra özel, en son da eşzamanlı olarak yayınlanır.
1. şekil. Ses odağı etkileşim matrisi.
Telefon görüşmeleri sırasında navigasyon
Android 11'de, kullanıcıların gezinme ve telefon görüşmeleri arasındaki etkileşim davranışını değiştirmesine olanak tanıyan yeni bir kullanıcı ayarı kullanıma sunuldu. Ayarlanırsa android.car.KEY_AUDIO_FOCUS_NAVIGATION_REJECTED_DURING_CALL
, gelen NAVIGATION
odak istekleri ile mevcut CALL
odak sahipleri arasındaki etkileşimi eşzamanlı olarak reddedilen olarak değiştirir. Kullanıcılar, navigasyon talimatlarının aramayı kesintiye uğratmasını istemiyorsa bu ayarı etkinleştirebilir. Bu ayar kullanıcı için kalıcıdır ve sonraki odak isteklerinin yeni ayara uyması için dinamik olarak ayarlanabilir.
Geciktirilebilir ses odağı
Android 11'de AAOS, ertelenebilir ses odağı isteği için destek ekledi. Bu sayede, geçici olmayan odak isteklerinin, mevcut odak sahipleriyle etkileşimleri normalde reddedilmelerine neden olacakken gecikmesine izin verilir. Odak değişikliği, gecikmeli isteğin odak kazanabileceği bir durumla sonuçlandığında istek verilir.
Gecikmeli ses odağı istekleriyle ilgili kurallar
Yalnızca geçici olmayan istekler. Geçici olmayan kaynaklar için yalnızca gecikmeli istekte bulunulabilir. Böylece, geçici bir sesin alakalı olmaktan çıktıktan çok sonra çalması önlenir.
Tek seferde yalnızca bir istek ertelenebilir. Halihazırda gecikmeli bir istek varken geciktirilebilir bir istek gönderilirse orijinal gecikmeli istek bir
AUDIOFOCUS_LOSS
değişiklik etkinliği alır ve yeni istekAUDIOFOCUS_REQUEST_DELAYED
senkron yanıtını alır.Ertelenebilir istekler
OnAudioFocusChangeListener
olmalıdır. Bir istek geciktirildikten sonra, istek sonunda verildiğinde (AUDIOFOCUS_GAIN
) veya daha sonra reddedildiğinde (AUDIOFOCUS_LOSS
) talep eden tarafı bilgilendirmek için dinleyici kullanılır.
Ertelenebilir odaklanma isteği
Geciktirilebilen bir istek oluşturmak için:
AudioFocusRequest.Builder#setAcceptsDelayedFocusGain
e-posta adresini kullanın.mMediaWithDelayedFocusListener = new MediaWithDelayedFocusListener(); mDelayedFocusRequest = new AudioFocusRequest .Builder(AudioManager.AUDIOFOCUS_GAIN) .setAudioAttributes(mMusicAudioAttrib) .setOnAudioFocusChangeListener(mMediaWithDelayedFocusListener) .setForceDucking(false) .setWillPauseWhenDucked(false) .setAcceptsDelayedFocusGain(true) .build();
İsteği yaparken
AUDIOFOCUS_REQUEST_DELAYED
yanıtını işleyin:int delayedFocusRequestResults = mAudioManager.requestAudioFocus(mDelayedFocusRequest); if (delayedFocusRequestResults == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { // start audio playback return; } if (delayedFocusRequestResults == AudioManager.AUDIOFOCUS_REQUEST_DELAYED) { // audio playback delayed to audio focus listener return; }
İstek geciktiğinde odak dinleyici, odaktaki değişiklikleri işler:
private final class MediaWithDelayedFocusListener implements OnAudioFocusChangeListener { @Override public void onAudioFocusChange(int focusChange) { synchronized (mLock) { switch (focusChange) { case AudioManager.AUDIOFOCUS_GAIN: … // Start focus playback case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT: … // Pause media transiently case AudioManager.AUDIOFOCUS_LOSS: … // Stop media
Sistem tarafından zorunlu kılınan karartma
Android 15, AAOS'te sistem tarafından zorunlu kılınan ses geçişini kullanıma sunuyor. Android'de ses odağı sistem tarafından zorunlu kılınmaz. Bu nedenle, uygulama geliştiricilerin ses odağı yönergelerine uyması önerilse de bir uygulama ses odağını kaybettikten sonra bile yüksek sesle çalmaya devam ederse sistem bunu engelleyemez.
Güvenliğin kritik önem taşıdığı otomotiv ortamlarında, sürücünün dikkatini dağıtmayı en aza indirmek için ses odağına uyulması hayati önem taşır. Bu özellik sayesinde ses çerçevesi, artık daha kontrollü ve tahmin edilebilir bir ses deneyimi için ses odağını kaybeden uygulamaların sesini otomatik olarak azaltır.
Bu geliştirme, uygulamaların etkileşim matrisinde tanımlandığı şekilde ses odağı kaybı kararına uymasını sağlayarak ses çalma çakışmalarını önler.
Üst düzey tasarım
Aşağıdaki şekilde, odak kaybı özelliğinin araçlardaki üst düzey tasarımı ve desteği gösterilmektedir:
Şekil 2. Sistem tarafından zorunlu kılınan karartma özelliği için üst düzey tasarım.
- Hedefli ses azaltma: Android 15'te ses azaltmanın sistem tarafından zorunlu kılınması, özellikle bir uygulamanın ses odağını kaybettiği ancak ses çalmaya devam ettiği durumlar için tasarlanmıştır.
- Ses azaltma mekanizması: Bir uygulama, ses odağını yeni bir istekte bulunan uygulamaya kaybettiğinde:
- Ses çerçevesi, kaybeden uygulamanın sesini otomatik olarak azaltır.
- Ses yavaş yavaş kaybolduktan sonra ses akışı sistem tarafından kapatılır.
- Uygulama daha sonra ses odağı kaybı bildirimi alır.
- Hatalı davranışta bulunan uygulamalar, ses odağını tekrar kazanana kadar sessize alınır.
- Varsayılan mantık, 2 saniye sonra solan uygulamaları tekrar görünür hale getirmektir. Ancak OEM'ler bunu herhangi bir zaman aşımı değerine göre yapılandırabilir.
- Ses çerçevesi, hem sesin yavaşça kısılması hem de yavaşça açılması işlemleri için OEM yapılandırmalarını kullanır.
OEM yapılandırma dosyası: Android 15'te yeni bir yapılandırma dosyası bulunur:
car_audio_fade_configuration.xml
:- Bu dosya, OEM'lerin sistemin ses odaklanması zorlamasının kaybeden bir uygulamaya ne zaman uygulanacağına dair ölçütler tanımlamasına olanak tanır.
- Ses çerçevesi, yalnızca kaybeden uygulama bu XML dosyasındaki OEM tarafından tanımlanan kurallarla eşleşiyorsa sesin yavaşça kısılmasını ve sessizleştirilmesini zorunlu kılar.
- Bu, OEM'lerin özelliğin davranışını uygulama özelliklerine veya ses kullanım türlerine göre özelleştirmesi için bir mekanizma sağlar.
RRO ile özellik kontrolü: Bu özelliği etkinleştirmek veya devre dışı bırakmak için yeni bir çalışma zamanı kaynağı yer paylaşımı (RRO) özellik işareti
audioUseFadeManagerConfiguration
kullanıma sunuldu:- Bu özellik varsayılan olarak devre dışıdır.
- Sistem tarafından zorunlu kılınan ses odağı kaybını etkinleştirmek için OEM'lerin bu işareti
true
olarak ayarlaması gerekir. - Araba ses çerçevesi, işaret etkinleştirildiğinde geçerli fade yapılandırma tanımları beklese de bu tür tanımların olmaması otomatik olarak ölümcül bir istisnaya neden olmaz.
- Tüm karartma yapılandırmalarının uygulamalarında eşleşen karartma tanımları olmalıdır. Geçerli bir tanım sağlamadan, araba ses yapılandırmasının bir parçası olarak bir solma yapılandırmasını (adıyla) çağırmak önemli bir hatadır.
- Bu işaret devre dışı bırakıldığında tüm geçiş yapılandırma tanımları ve yapılandırma referansları yoksayılır.
Fade Manager yapılandırması
Android 15'teki ses çerçevesi, OEM'lere sesin solma davranışı üzerinde ayrıntılı kontrol sağlamak için birleşik bir FadeManagerConfiguration
sunar. Bu çerçeve Şekil 3'te gösterilmektedir:
3.Şekil Fade Manager yapılandırması.
Bu yapılandırma şunları içerir:
- Solma geçişi özellikleri: Hem solma hem de solarak görünme ayarları.
- Belirli ses kullanımları veya özellikleriyle tanımlanabilir.
- Özel süre ayarlarına izin verir.
- Bu ayarlar
VolumeShaper.Configuration
oluşturmak için kullanılır.
- Solma politikaları: Solmanın ne zaman gerçekleşeceğini belirleyen kurallar.
- Solma özelliğini etkinleştirmek veya devre dışı bırakmak için genel bir açma/kapatma düğmesi.
- Sesin solmasına uygun (odak kaybedildiğinde sesin solmasına uygun) ses kullanımlarının yapılandırılabilir listesi.
- Hariç tutma listeleri (solmayan), kritik veya belirlenmiş ses kaynaklarının solmasını önler. Bu listeler şunlara dayalı olabilir:
- İçerik türleri
- Ses özellikleri
- Uygulama UID'leri (yalnızca çalışma zamanında ayarlanabilir)
OEM yapılandırmaları
Bu bölümde, kullanılabilen OEM özelleştirmelerini ele alıyoruz.
Araç sesinin solma yapılandırması XML dosyası
Android 15, odak kaybı sırasında sesin yavaşça kısılması davranışının kapsamlı OEM özelleştirmesine olanak tanıyan yeni bir yapılandırma dosyası car_audio_fade_configuration.xml
sunar.
- Bu XML dosyası, her biri
car_audio_configuration.xml
içinde çapraz referans için benzersiz bir ad gerektiren birden fazla farklı geçiş yapılandırmasının tanımlanmasına olanak tanır. - Bu yapılandırmalar, farklı ses bölgelerinde ve bölge yapılandırmalarında esnek bir şekilde uygulanabilir.
- Her geçiş yapılandırması yalnızca milisaniye cinsinden süre değerlerini kabul eder. Sistem daha sonra bu değerleri kullanarak dahili olarak ilgili
VolumeShaper.Configuration
oluşturur.
Pratik uygulama rehberliği için device/generic/car/emulator/audio/car_audio_fade_configuration.xml
adresindeki emülatör için sağlanan örnek yapılandırmalara bakın.
Araç ses yapılandırması XML dosyası
Android 15, car_audio_configuration.xml
dosyasının güncellenmiş bir sürümünü (4. sürüm) sunar. Bu sürümde yeni applyFadeConfigs
ve fadeConfig
etiketleri yer alır.
applyFadeConfigs
etiketi, birden fazla fadeConfig
tanımı içerebilir. Bu sayede esnek bir geçiş yapılandırması sağlanır. Her tanım:
isDefault = true
ile belirlenmiş bir varsayılanfadeConfig
içermelidir.- Birkaç geçici
fadeConfig
tanımı içerebilir. Bu geçici yapılandırmalar, özellikle ses odağı kaybı etkileşimleri sırasında ve yalnızca ses odağı kazanan uygulama, geçici yapılandırmada tanımlanan ölçütleri karşıladığında uygulanır.
Pratik uygulama rehberliği için device/generic/car/emulator/audio/car_audio_configuration.xml
adresindeki emülatör için sağlanan örnek yapılandırmalara bakın.
OEM ses odağı hizmeti uzantısı
Özel bir araç ses odaklanma hizmeti uygulayan OEM'ler, ses azaltma ayarlarını OemCarAudioFocusResult
dosyasına dahil ederek yapılandırma esnekliğine sahiptir.
Bu, setAudioAttributesToCarAudioFadeConfigurationMap()
oluşturucu yöntemi kullanılarak yapılabilir:
/** @see OemCarAudioFocusResult#getAudioAttributesToCarAudioFadeConfigurationMap() **/
@NonNull
public Builder setAudioAttributesToCarAudioFadeConfigurationMap(@NonNull
Map<AudioAttributes, CarAudioFadeConfiguration> attrsToCarAudioFadeConfig) {
}
Özellikle, OEM'ler önceden yapılandırılmış başlatma zamanı sesini azaltma ayarlarını kullanmayı veya özel ses odağı hizmetleri aracılığıyla yapılandırmaları dinamik olarak uygulamayı seçebilir. Bu sayede uyarlanabilir kontrol sunulur.
Adım sırası diyagramı
Bu sıra şeması, App2
uygulamasına ses odağı verildikten sonraki davranışı ve App1
uygulamasının ses odağını kaybetmesini gösterir:
- Araba ses hizmeti, ses odağı kaybını
App1
'ya gönderdiğinde,FadeManagerConfiguration
'lar tarafından tanımlanan şekildeApp1
oynatıcısındaki oynatma işlemi yavaş yavaş durdurulur. Sesin yavaşça kapatılması işlemi tamamlandığındaApp1
, standart ses odağı kaybı geri çağırmasını alır. - İsteğe bağlı olarak,
App1
için ses, yapılandırılabilir bir süre sonra tekrar açılabilir. OEM'ler, bu süreyiBuilder#setFadeInDurationForUsage(int, long)
aracılığıyla kendi özel ürün gereksinimlerine göre ayarlayabilir.
Şekil 4. Araba sesinde fade özelliği için adım sırası diyagramı.
Çoklu bölge odak yönetimi
Birden fazla ses bölgesi olan araçlarda ses odağı her bölge için ayrı ayrı yönetilir. Bu nedenle, bir bölgeye yapılan istek, diğer bölgelerde neyin odak noktası olduğunu dikkate almaz ve diğer bölgelerdeki odak noktalarının odağını kaybetmesine neden olmaz. Bu sayede, ana kabinin odağı arka koltuk eğlence sisteminden ayrı olarak yönetilebilir. Böylece, bir bölgedeki odak değişiklikleri başka bir bölgedeki ses oynatmayı kesintiye uğratmaz.
Tüm uygulamalarda CarAudioService
, odağı otomatik olarak yönetir. Bir odaklanma isteğinin ses bölgesi, ilişkili UserId
veya UID
tarafından belirlenir (ayrıntılar için Çok bölgeli ses yönlendirme başlıklı makaleyi inceleyin).
Aynı anda birden fazla bölgeden ses isteğinde bulunma
Bir uygulama, birden fazla bölgede aynı anda ses çalmak istiyorsa pakete AUDIOFOCUS_EXTRA_REQUEST_ZONE_ID
ekleyerek her bölge için odak isteğinde bulunmalıdır:
//Create attribute with bundle and AUDIOFOCUS_EXTRA_REQUEST_ZONE_ID
Bundle bundle = new Bundle();
bundle.putInt(CarAudioManager.AUDIOFOCUS_EXTRA_REQUEST_ZONE_ID,
zoneId);
AudioAttributes attributesWithZone = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_MEDIA)
.addBundle(bundle)
.build();
//Create focus request using built attributesWithZone
Bu paket parametresi, istekte bulunanın otomatik ses bölgesi eşlemelerini geçersiz kılarak bunun yerine belirtilen bölge kimliğini kullanmasına olanak tanır. Bu nedenle, bir uygulama farklı ses bölgeleri için ayrı istekler gönderebilir.
HAL ses odağı
Android 11'den itibaren HAL, harici akışlar adına odaklanma isteğinde bulunmak için etkinleştirilir. Bu API'lerin kullanımı isteğe bağlı olsa da harici seslerin Android ekosisteminde optimum şekilde yer almasını sağlamak ve sorunsuz bir kullanıcı deneyimi sunmak için bu API'lerin kullanılması önemle tavsiye edilir.
Hangi seslerin önceliklendirileceğine ilişkin nihai kararı HAL verir. Bu nedenle, acil durum ve güvenlik açısından kritik sesler, HAL'e ses odağı verilip verilmediğine bakılmaksızın çalınmalı ve HAL ses odağını kaybetse bile uygun şekilde çalınmaya devam etmelidir. Aynı durum, devlet yönetmeliklerinin gerektirdiği sesler için de geçerlidir.
HAL, acil durum veya güvenlik açısından kritik sesler çalarken Android akışlarını uygun şekilde proaktif olarak kapatmalıdır. Böylece bu seslerin net bir şekilde duyulması sağlanır.
AudioControl@2.0
AudioControl HAL'nin 2.0 sürümünde şu yeni API'ler kullanıma sunulmuştur:
API | Amaç |
---|---|
IAudioControl#registerFocusListener |
AudioControl HAL ile IFocusListener örneğini kaydeder. Bu dinleyici, HAL'ın ses odağı istemesine ve bırakmasına olanak tanır. HAL, dinleyicinin kaydını silmek için Android tarafından kullanılacak bir ICloseHandle örneği sağlar. |
IAudioControl#onAudioFocusChange |
HAL'in IFocusListener üzerinden yaptığı odak isteklerinin durumundaki değişiklikleri (ilk odak isteklerine verilen yanıtlar dahil) HAL'e bildirir. |
IFocusListener#requestAudioFocus |
İstekler, belirtilen kullanım, bölge kimliği ve odak kazanma türü için HAL adına odaklanmaya yöneliktir. |
IFocusListener#abandonAudioFocus |
Belirtilen kullanım ve bölge kimliği için mevcut HAL odak isteklerini bırakır. |
HAL aynı anda birden fazla odak isteğine sahip olabilir ancak kullanım ve bölge kimliği eşleştirme başına bir istekle sınırlıdır. Android, bir istek yapıldıktan sonra HAL'ın hemen ses çalmaya başladığını ve odaklanmayı bırakana kadar bunu yapmaya devam ettiğini varsayar.
registerFocusListener
dışında, bu istekler oneway
olup Android'in odaklanma isteği işlenirken HAL'yi geciktirmemesini sağlar. HAL, güvenlikle ilgili kritik sesleri çalmadan önce odaklanmayı beklememelidir. HAL'ın IAudioControl#onAudioFocusChange
aracılığıyla ses odağındaki değişiklikleri dinlemesi ve bunlara yanıt vermesi isteğe bağlıdır.
OEM araç ses odağı hizmeti
AAOS, Android 14'te bazı araç bileşenlerinin yapılandırılabilirliğini sağlamak için araç OEM eklenti hizmetlerini kullanıma sundu. Car Audio Plugin Service için eklenti hizmeti, OEM'lerin araç ses hizmeti tarafından yakalanan odak isteklerini yönetmesine olanak tanır. Bu sayede OEM'ler, kurallar ve yönetmelikler uyarınca gerektiği şekilde odaklanmayı yönetme konusunda daha fazla esnekliğe sahip olur. Bu nedenle, ses odağı etkileşimi üreticiler arasında ve bölgeden bölgeye farklılık gösterebilir. Ses odağıyla ilgili temel önerme geçerliliğini korumaya devam ediyor. Uygulamalar, kullanıcı deneyimini iyileştirmek için sesin daha iyi yönetilmesi amacıyla odak isteğinde bulunmalıdır. Genel olarak, uygulamaların ses odağı isteği için belirli kurallar geçerli olmaya devam eder:
Devam eden, yüksek öncelikli bir ses odağı (telefon görüşmesi, acil durum uyarısı veya güvenlik bildirimi dahil) yoksa uygulamalar geçici ya da kalıcı olarak ses odağı kazanabilmelidir.
Medya odağı etkin durumdayken:
Arama kullanımı odaklanması isteyen uygulamalar, aramayı eşzamanlı veya özel olarak alabilmelidir.
Navigasyon kullanım odağı isteyen uygulamalar, navigasyon odağını eşzamanlı veya ayrıcalıklı olarak alabilmelidir.
Yardımcı kullanımına odaklanma isteğinde bulunan uygulamalar, kullanım odağını eşzamanlı veya özel olarak alabilmelidir.
Yüksek öncelikli ses odağı (telefon görüşmesi, acil durum uyarısı veya güvenlik bildirimi dahil) gerektiren uygulamalar etkin durumdayken, gelen gecikmeli ses odağı istekleri gerektiği gibi verilmeli veya geciktirilmelidir.
Bu öneriler kapsamlı olmasa da odaklanma isteğinde bulunan uygulamaların, etkin ve yüksek öncelikli sesler yoksa odaklanma elde etmesine yardımcı olabilir. Yüksek öncelikli sesler etkin durumdayken bile gecikmeli odaklanma isteklerine uyulmalı ve yüksek öncelikli ses durduğunda odaklanma sağlanabilmelidir.