Ses odağı

Bir uygulama, mantıksal akışı başlatmadan önce mantıksal akış için kullanılan ses özelliklerini kullanarak ses odağını ister. Uygulama, otomotiv kullanım alanlarında beklendiği gibi performans göstermek için odaklanma kaybına dikkat etmelidir.

Odak isteği göndermek önerilir ancak sistem tarafından zorunlu kılınmaz. Bu nedenle, odağı birincil ses kontrol mekanizması yerine oynatma sırasındaki çakışmaları dolaylı olarak kontrol etmek ve önlemek için kullanın. Araç, ses alt sisteminin çalışması için odak sistemine bağlı olmamalıdır.

Odak etkileşimleri

AAOS'u desteklemek için ses odak istekleri, istek CarAudioContext ile mevcut odak sahiplerinin CarAudioContext arasında ö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 odakta kalmasına izin verilir. Bu nedenle, gelen bir odak isteğine odak verilirken mevcut odak sahibi odağını kaybeder. Her iki uygulama da medya oynattığından yalnızca bir uygulamanın odakta kalmasına izin verilir. Sonuç olarak, yeni başlatılan uygulamanın odak isteği AUDIOFOCUS_REQUEST_GRANTED ile döndürülürken, müzik çalan mevcut uygulama, yapılan istek türüne karşılık gelen bir kayıp durumu içeren bir odak değişikliği etkinliği alır.

Etkileşimi reddetme

Reddet etkileşimlerinde gelen istek her zaman reddedilir. Örneğin, arama devam ederken müzik çalmaya çalışırken. Bu durumda, Arama uygulaması bir arama için ses odağını elinde tutuyorsa ve ikinci bir uygulama müzik çalmak için odak isterse müzik uygulaması, isteğe yanıt olarak AUDIOFOCUS_REQUEST_FAILED alır. Odak isteği reddedildiği için mevcut odak sahibine odak kaybı gönderilmez.

Eşzamanlı etkileşim

AAOS'a özgü olan eşzamanlı etkileşimlerdir. Bu sayede, araçta ses odak isteğinde bulunan uygulamalar diğer uygulamalarla aynı anda odak tutabilir. Eşzamanlı etkileşimin gerçekleşmesi için aşağıdaki koşulların karşılanması gerekir. Aşağıdakiler:

Bu ölçütler karşılanırsa odak isteği AUDIOFOCUS_REQUEST_GRANTED ile döndürülür. Mevcut odak tutucusunda ise odakta herhangi bir değişiklik olmaz. Ancak, mevcut odak sahibi, gizleme etkinlikleri almayı veya gizlendiğinde duraklatmayı seçerse özel etkileşimde olduğu gibi mevcut odak sahibi odağı kaybeder.

Eşzamanlı akışları yönetme

Eşzamanlı etkileşimin birçok kullanımı olsa da çıkış cihazları arasında donanım düzeyinde karıştırma ve ses azaltma işlemlerinde dikkatli olun. Eşzamanlı olarak oynatılmasına izin verilen CarAudioContext örneklerinin farklı çıkış cihazlarına yönlendirilmesini önemle tavsiye ederiz.

Eşzamanlı yayınlar için ayrı çıkış cihazları olması, HAL'ın yayınları karıştırmadan önce bunlardan birini susturmasına veya fiziksel yayınları araçtaki farklı hoparlörlere yönlendirmesine olanak tanır. Mantıksal akışlar Android'de karıştırılırsa kazançlar değiştirilmez ve aynı fiziksel akış kapsamında yayınlanır.

Örneğin, gezinme ve medya aynı anda yayınlanırken gezinme talimatlarının daha net duyulması için medya akışının kazancı geçici olarak azaltılabilir (veya azaltılabilir). Alternatif olarak, navigasyon akışı sürücü tarafı hoparlörlere yönlendirilebilir. Bu sırada medya, kabinin geri kalanında çalmaya devam eder.

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 değerini temsil eder.

Örneğin, bir müzik medya uygulaması, navigasyon uygulaması odaklanmayı istediğinde odaklanmayı koruduğunda matris, eşzamanlı etkileşimler ile 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 noktası olabilir. Bu durumda, hangi etkileşimin uygulanacağı belirlenmeden önce gelen bir odak isteği, mevcut odak sahiplerinin her biri ile karşılaştırılır. Bu durumda en muhafazakar etkileşim kazanır. Reddetme, ardından özel ve son olarak eşzamanlı.

Ses odağı etkileşim matrisi

Şekil 1. Ses odağı etkileşim matrisi.

Android 11'de, kullanıcıların navigasyon ile telefon görüşmeleri arasındaki etkileşim davranışını değiştirmesine olanak tanıyan yeni bir kullanıcı ayarı kullanıma sunulmuştur. Ayarlandığında android.car.KEY_AUDIO_FOCUS_NAVIGATION_REJECTED_DURING_CALL, gelen NAVIGATION odak istekleri ile mevcut CALL odak tutucular arasındaki etkileşimi eşzamanlı yerine reddeder olarak değiştirir. Bir kullanıcı, navigasyon talimatlarının aramayı kesintiye uğratmamasını tercih ederse bu ayarı etkinleştirebilir. Bu değer kullanıcı için kalıcı olur ve sonraki odaklanma isteklerinin yeni ayara uyması için dinamik olarak ayarlanabilir.

Ertelenebilen ses odağı

Android 11'de AAOS, ertelenebilir ses odağını isteme desteği ekledi. Bu sayede, geçici olmayan odak isteklerinin, mevcut odak sahipleriyle etkileşimi normalde reddedilmeleriyle sonuçlandığında geciktirilmesi sağlanır. Odaktaki bir değişiklik, gecikmeli isteğin odak alabileceği bir duruma yol açtığında istek kabul edilir.

Gecikmeli ses odak istekleri için kurallar

  • Yalnızca geçici olmayan istekler. Geçici seslerin alakalı olmaktan çok uzun bir süre sonra çalınmasını önlemek için gecikmeli istek yalnızca geçici olmayan kaynaklar için gönderilebilir.

  • Tek seferde yalnızca bir istek ertelenebilir. Zamanı ertelenebilir bir istek, zaten ertelenmiş bir istek varken yapılırsa orijinal ertelenmiş istek bir AUDIOFOCUS_LOSS değişiklik etkinliği alır ve yeni istek AUDIOFOCUS_REQUEST_DELAYED eşzamanlı yanıtı alır.

  • Geciktirilebilir isteklerde OnAudioFocusChangeListener olmalıdır. Bir istek geciktirildikten sonra, istek sonunda kabul edildiğinde (AUDIOFOCUS_GAIN) veya daha sonra reddedildiğinde (AUDIOFOCUS_LOSS) istek sahibini bilgilendirmek için dinleyici kullanılır.

Ertelenebilen odaklanmayı iste

Ertelenebilecek bir istek oluşturmak için:

  1. 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();
    
  2. İsteği gönderirken AUDIOFOCUS_REQUEST_DELAYED yanıtını ele alın:

    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;
    }
    
  3. İstek gecikirse odağı dinleyen, 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 uygulanan solma

Android 15, AAOS'te sistem tarafından zorunlu kılınan sesin yavaşça azaltılmasını kullanıma sunar. Android'de ses odak noktası sistem tarafından zorunlu kılınmaz. Bu nedenle, uygulama geliştiricilerin ses odak kurallarına uymaları önerilir. Ancak bir uygulama, ses odağını kaybettikten sonra bile sesli oynatmaya devam ederse sistem bunu engelleyemez.

Güvenlik açısından kritik otomotiv ortamlarında, sürücünün dikkatinin dağılmasını en aza indirmek için ses odağına bağlı kalmak çok önemlidir. Bu özellik sayesinde ses çerçevesi artık daha kontrollü ve tahmin edilebilir bir ses deneyimi için ses odağını kaybeden uygulamaları otomatik olarak azaltır.

Bu geliştirme, uygulamaların etkileşim matrisi tarafından tanımlanan ses odak kaybı kararına uymasını sağlayarak ses oynatma çakışmalarını önler.

Üst düzey tasarım

Aşağıdaki şekilde, araçlardaki odaklanma kaybı özelliğinin üst düzey tasarımı ve desteği gösterilmektedir:

Sistem tarafından zorunlu kılınan karartma özelliği için üst düzey tasarım

Ş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 uygulanması, özellikle bir uygulamanın ses odağını kaybetmesine rağmen ses çalmaya devam ettiği durumlar için tasarlanmıştır.
  • Sessizleştirme mekanizması: Bir uygulama, ses odağını yeni bir istek gönderen uygulamaya kaptığında:
    • Ses çerçevesi, kaybeden uygulamanın sesini otomatik olarak azaltır.
    • Ses yavaşça azaldıktan sonra ses akışı sistem tarafından kapatılır.
    • Ardından uygulamaya ses odağının kaybedildiğine dair bir bildirim gönderilir.
    • Kötüye kullanım amaçlı uygulamalar, ses odağını geri kazanana kadar sessize alınır.
    • Varsayılan mantık, 2 saniye sonra karartılan uygulamaların yavaş yavaş gösterilmesidir. Ancak OEM'ler bunu herhangi bir zaman aşımı değeriyle 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, car_audio_fade_configuration.xml adlı yeni bir yapılandırma dosyası içerir:

    • Bu dosya, OEM'lerin sistemin ses odak zorlamasının kaybeden uygulamaya ne zaman uygulanacağına dair ölçütleri 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şirse sesin yavaşça azaltı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ştirmesine olanak tanır.
  • RRO ile özellik kontrolü: Bu özelliği etkinleştirmek veya devre dışı bırakmak için yeni bir çalışma zamanında kaynak 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 odak kaybını etkinleştirmek için OEM'lerin bu işareti true olarak ayarlamaları gerekir.
    • Araba ses çerçevesi, işaret etkinleştirildiğinde geçerli karartma yapılandırması tanımları beklese de bu tür tanımların olmaması otomatik olarak ölümcül bir istisnayla sonuçlanmaz.
    • Karartma yapılandırmalarına sahip tüm uygulamalarda eşleşen karartma tanımları olmalıdır. Geçiş yapılandırmasını, geçerli bir tanım sağlamadan araç ses yapılandırmasının bir parçası olarak (adıyla) çağırmak önemli bir hatadır.
    • İşaretçi devre dışı bırakıldığında tüm karartma yapılandırması tanımları ve yapılandırma referansları yoksayılır.

Fade yöneticisi yapılandırması

Android 15 ses çerçevesi, OEM'lere sesin sönme davranışı üzerinde ayrıntılı kontrol sağlamak için birleşik bir FadeManagerConfiguration sunar. Bu çerçeve Şekil 3'te gösterilmektedir:

Fade yöneticisi yapılandırması

Şekil 3. Karartma yöneticisi yapılandırması.

Bu yapılandırma şunları içerir:

  • Şeffaflaşma geçişi özellikleri: Hem karartma hem de açma 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.
  • Görüntülerin karartılması politikaları: Görüntülerin karartılmasının ne zaman gerçekleşeceğini belirleyen kurallar.
    • Solmaya geçişi etkinleştirmek veya devre dışı bırakmak için genel bir açma/kapatma düğmesi.
    • Seslerin ses seviyesi azaltılabilir kullanımlarının yapılandırılabilir listesi (odak kaybedildiğinde ses seviyesi azaltılabilir).
    • Hariç tutma listeleri (ses seviyesi azaltılamaz), kritik veya belirtilen ses kaynaklarının ses seviyesinin azaltılmasını engeller. 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, mevcut OEM özelleştirmelerine göz atıyoruz.

Araç ses fade yapılandırması XML dosyası

Android 15, odaklanmanın kaybedilmesi sırasında sesin yavaşça azaltılması davranışının OEM tarafından kapsamlı bir şekilde özelleştirilmesini sağlayan yeni bir yapılandırma dosyası car_audio_fade_configuration.xml sunar.

  • Bu XML dosyası, birden fazla farklı karartma yapılandırmasının tanımlanmasına olanak tanır. Her bir yapılandırma için car_audio_configuration.xml içinde çapraz referans oluşturmak üzere benzersiz bir ad gerekir.
  • Bu yapılandırmalar, farklı ses bölgelerine ve bölge yapılandırmalarına esnek bir şekilde uygulanabilir.
  • Her karartma yapılandırması yalnızca milisaniye cinsinden süre değerlerini kabul eder. Sistem daha sonra bu değerleri kullanarak ilgili VolumeShaper.Configuration öğesini dahili olarak oluşturur.

Uygulamayla ilgili pratik bilgiler 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 sistemi yapılandırma XML dosyası

Android 15, yeni applyFadeConfigs ve fadeConfig etiketlerini içeren güncellenmiş bir car_audio_configuration.xml dosyasını (4. sürüm) kullanıma sunar. applyFadeConfigs etiketi birden fazla fadeConfig tanımı içerebilir. Bu sayede, geçişin esnek bir şekilde yapılandırılması sağlanır. Her tanım:

  • isDefault = true ile belirtilen bir varsayılan fadeConfig içermelidir.
  • Geçici birkaç fadeConfig tanımı içerebilir. Bu geçici yapılandırmalar, özellikle ses odağının kaybedildiği etkileşimler sırasında ve yalnızca ses odağını kazanan uygulama geçici yapılandırmada tanımlanan ölçütlerle eşleştiğinde uygulanır.

Uygulamayla ilgili pratik bilgiler 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ğı hizmet uzantısı

Özel bir araç ses odak hizmeti uygulayan OEM'ler, ses fade ayarlarını OemCarAudioFocusResult içine ekleyerek 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) {
}

OEM'ler, önceden yapılandırılmış önyükleme sırasındaki ses azaltma ayarlarını kullanmayı veya özel ses odak hizmetleriyle yapılandırmaları dinamik olarak uygulamayı seçerek uyumlu kontrol sunabilir.

Adım sırası şeması

Bu ardışık düzen şemasında, App2'e ses odağının verilmesi ve ardından App1 tarafından ses odağının kaybedilmesi sonrasındaki davranış gösterilmektedir:

  • Araba ses hizmeti, ses odağının kaybını App1'e gönderdiğinde App1 oynatıcıdan oynatma, etkin FadeManagerConfiguration'lar tarafından tanımlandığı şekilde yavaş yavaş sonlandırılır. Ses azaltma işlemi tamamlandığında App1, standart ses odak kaybı geri çağırma işlevini alır.
  • İsteğe bağlı olarak, App1 için ses, yapılandırılabilir bir sürenin ardından tekrar açılabilir. OEM'ler, bu süreyi Builder#setFadeInDurationForUsage(int, long) üzerinden belirli ürün gereksinimlerine göre ayarlama esnekliğine sahiptir.

Araba ses seviyesi azaltma özelliği için akış şeması

Şekil 4. Araba ses seviyesi azaltma özelliği için akış şeması.

Çoklu bölgeli odak yönetimi

Birden fazla ses bölgesi olan araçlarda ses odak noktası her bölge için ayrı ayrı yönetilir. Bu nedenle, bir alt bölgeye gönderilen istek, diğer alt bölgelerde hangi öğenin odakta olduğunu dikkate almaz ve diğer alt bölgelerdeki odak tutucuların odağını kaybetmesine neden olmaz. Bu sayede, ana kabinin odağı arka koltuk eğlence sisteminden ayrı olarak yönetilebilir. Böylece, odakta yapılan değişiklikler nedeniyle bir bölgedeki ses oynatımı kesintiye uğramaz.

CarAudioService, tüm uygulamalarda otomatik olarak odağı yönetir. Odak isteğinin ses bölgesi, ilişkili UserId veya UID tarafından belirlenir (ayrıntılar için Çok bölgeli ses yönlendirmesi bölümüne bakın).

Eşzamanlı olarak birden fazla bölgeden ses isteme

Bir uygulama birden fazla bölgede aynı anda ses çalmak istiyorsa pakete AUDIOFOCUS_EXTRA_REQUEST_ZONE_ID ekleyerek her bölge için odaklanmayı istemelidir:

//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, istek sahibinin otomatik ses bölgesi eşlemelerini geçersiz kılarak 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 bulunabilir. İsteğe bağlı olsa da harici seslerin Android ekosisteminde en iyi şekilde kullanılabilmesi ve sorunsuz bir kullanıcı deneyimi sunulması için bu API'lerin kullanılması önemle tavsiye edilir.

Hangi seslerin öncelikli olması gerektiğine dair nihai kararı HAL verir. Bu nedenle, acil durum ve güvenlik açısından kritik sesler, HAL'e ses odağının verilip verilmediğinden bağımsız olarak çalınmalı ve HAL ses odağını kaybetse bile uygun şekilde çalınmaya devam etmelidir. Aynı durum, resmi düzenlemeler uyarınca gerekli olan tüm sesler için de geçerlidir.

HAL, acil durum veya güvenlik açısından kritik seslerin net bir şekilde duyulmasını sağlamak için Android akışlarını gerektiğinde proaktif olarak sessize almalıdır.

[email protected]

AudioControl HAL'ın 2.0 sürümünde aşağıdaki yeni API'ler kullanıma sunulmuştur:

API Amaç
IAudioControl#registerFocusListener AudioControl HAL ile bir IFocusListener örneği kaydeder. Bu dinleyici, HAL'in ses odağını istemesini ve terk etmesini sağlar. HAl, dinleyicinin kaydını iptal etmek için Android tarafından kullanılacak bir ICloseHandle örneği sağlar.
IAudioControl#onAudioFocusChange İlk odak isteklerine verilen yanıtlar da dahil olmak üzere, HAL tarafından IFocusListener üzerinden yapılan odak isteklerinin durumundaki değişiklikleri HAL'e bildirir.
IFocusListener#requestAudioFocus Belirli bir kullanım, bölge kimliği ve odak kazancı türü için HAL adına odaklanma isteğinde bulunur.
IFocusListener#abandonAudioFocus Belirtilen kullanım ve bölge kimliği için mevcut HAL odaklanma isteklerini terk eder.

HAL'de aynı anda birden fazla odak isteği olabilir ancak kullanım ve bölge kimliği eşleştirme başına bir istekle sınırlıdır. Android, HAL'ın istek gönderildikten sonra hemen ses çalmaya başladığını ve odak kaybolana kadar bunu yapmaya devam ettiğini varsayar.

registerFocusListener dışındaki bu istekler, Android'in bir odaklanma isteği işlenirken HAL'i geciktirmemesi için oneway olur. HAL, güvenlik açısından kritik sesleri oynatmadan ö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 odak hizmeti

Android 14'te AAOS, bazı araç bileşenlerinin yapılandırılabilirliğini sağlamak için araç OEM eklenti hizmetlerini kullanıma sundu. Araç Ses Sistemi Eklentisi Hizmeti için eklenti hizmeti, OEM'lerin araç ses sistemi hizmeti tarafından yakalanan odaklanma isteklerini yönetmesine olanak tanır. Bu sayede OEM'ler, kurallar ve yönetmelikler uyarınca odaklanmayı yönetme konusunda daha fazla esneklik elde eder. Bu nedenle, ses odak etkileşimi üreticiler ve bölgeler arasında farklılık gösterebilir. Ses odağının temel fikri geçerliliğini koruyor. Uygulamaların, kullanıcı deneyimini iyileştirmek için sesleri daha iyi yönetmek amacıyla odak isteğinde bulunması gerekiyor. Genel olarak, uygulamaların ses odak isteğinde bulunması için belirli kurallar geçerli olmaya devam eder:

  • Telefon araması, acil durum uyarısı veya güvenlik bildirimi dahil olmak üzere herhangi bir kalıcı yüksek öncelikli ses odak noktası olmadan uygulamalar geçici veya kalıcı olarak ses odak noktası elde edebilmelidir.

  • Medya odağı etkinken:

    • Telefon kullanımı odağına odaklanmayı isteyen uygulamalar, aramayı eşzamanlı olarak veya münhasır olarak alabilmelidir.

    • Gezinme kullanımı odağı isteyen uygulamalar, gezinme odağını eşzamanlı olarak veya münhasıran alabilmelidir.

    • Asistan kullanım odağını isteyen uygulamalar, kullanım odağını eşzamanlı olarak veya münhasıran alabilmelidir.

  • Ayaktayken yüksek öncelikli ses odaklı uygulamalar (telefon araması, acil durum uyarısı veya güvenlik bildirimi dahil) etkinken gelen gecikmeli ses odaklı isteklerin tümü gerektiği şekilde kabul edilmeli veya ertelenmelidir.

Bu öneriler her durumu kapsamasa da etkin yüksek öncelikli ses yoksa odaklanma isteğinde bulunan uygulamaların odaklanmasına yardımcı olabilir. Yüksek öncelikli sesler etkinken bile gecikmeli odaklanma isteklerine yine de uyulmalıdır ve yüksek öncelikli ses durduğunda odaklanmaya başlanmalıdır.