Genel bakış

Android Automotive OS (AAOS), bir araçta bilgi-eğlence sistemi olarak çalışmaya yönelik kullanım alanlarını desteklemek için temel Android ses yığını üzerine kurulmuştur. AAOS, bilgi-eğlence seslerinden (medya, navigasyon ve iletişim) sorumludur ancak katı kullanılabilirlik ve zamanlama şartları olan zil sesleri ve uyarılardan doğrudan sorumlu değildir.

AAOS, aracın sesi yönetmesine yardımcı olacak sinyaller ve mekanizmalar sağlarken sürücü ve yolcular için hangi seslerin çalınması gerektiğine karar vermek nihayetinde araca kalır. Bu sayede, güvenlikle ilgili önemli seslerin ve yasal düzenlemelere uygun seslerin kesintisiz bir şekilde duyulması sağlanır.

AAOS, Android ses yığınından yararlandığı için ses çalan üçüncü taraf uygulamalarının telefonlarda yaptığından farklı bir işlem yapması gerekmez. Uygulamanın ses yönlendirmesi, Ses politikası yapılandırması bölümünde açıklandığı gibi AAOS tarafından otomatik olarak yönetilir.

Android, aracın medya deneyimini yönettiğinden radyo alıcısı gibi harici medya kaynakları, ses odağını ve kaynak için medya tuşu etkinliklerini işleyebilen uygulamalarla temsil edilmelidir.

Android sesleri ve akışları

Otomotiv ses sistemleri aşağıdaki sesleri ve akışları işler:

resim

Şekil 1. Akış merkezli mimari şeması.

Android, Android uygulamalarından gelen sesleri yönetir, bu uygulamaları kontrol eder ve ses türüne göre HAL'deki çıkış cihazlarına yönlendirir:

  • Temel ses terminolojisinde kaynak olarak bilinen mantıksal akışlar, ses özellikleriyle etiketlenir.

  • Temel ses terminolojisinde cihaz olarak bilinen fiziksel akışlar, karıştırma işleminden sonra bağlam bilgisine sahip olmaz.

Güvenilirlik için harici sesler (emniyet kemeri uyarı zili gibi bağımsız kaynaklardan gelen) Android'in dışında, HAL'ın altında veya hatta ayrı donanımlarda yönetilir. Sistemi uygulayanlar, Android'den gelen bir veya daha fazla ses girişi akışını kabul eden ve bu akışları araç için gerekli harici ses kaynaklarıyla uygun şekilde birleştiren bir mikser sağlamalıdır. Android Control HAL, Android dışında oluşturulan seslerin Android'e geri bildirimde bulunması için farklı bir mekanizma sağlar:

  • Ses odağı isteği
  • Kazanç veya ses düzeyi sınırlamaları
  • Kazanç ve ses seviyesi değişiklikleri

Ses HAL uygulaması ve harici mikser, güvenlikle ilgili önemli harici seslerin duyulmasını sağlamaktan, Android tarafından sağlanan akışları karıştırıp uygun hoparlörlere yönlendirmekten sorumludur.

Android sesleri

Uygulamalarda, standart Android API'leri (ör. odak kontrolü için AudioManager veya akış için MediaPlayer) aracılığıyla etkileşimde bulunan bir veya daha fazla oynatıcı olabilir. Bu oynatıcılar, bir veya daha fazla mantıksal ses verisi akışı yayar. Bu veriler tek kanallı mono veya 7.1 surround olabilir ancak tek bir kaynak olarak yönlendirilir ve işlenir. Uygulama akışı, sisteme sesin nasıl ifade edilmesi gerektiğiyle ilgili ipuçları veren AudioAttributes ile ilişkilendirilir.

Mantıksal akışlar AudioService üzerinden gönderilir ve mevcut fiziksel çıkış akışlarından birine (yalnızca birine) yönlendirilir. Bu akışların her biri AudioFlinger'daki bir karıştırıcının çıkışıdır. Ses özellikleri fiziksel bir akışa karıştırıldıktan sonra artık kullanılamaz.

Her fiziksel akış daha sonra donanımda oluşturulmak üzere Audio HAL'ye iletilir. Otomotiv uygulamalarında, oluşturma donanımı yerel codec'ler (mobil cihazlara benzer) veya aracın fiziksel ağı genelinde uzak bir işlemci olabilir. Her iki durumda da gerçek örnek verileri sağlamak ve bunların duyulmasını sağlamak, Audio HAL uygulamasının görevidir.

Harici yayınlar

Android üzerinden yönlendirilmemesi gereken ses akışları (sertifika veya zamanlama nedenleriyle) doğrudan harici miksere gönderilebilir. Android 11'den itibaren HAL, Android'e bilgi vermek için bu harici seslere odaklanma isteğinde bulunabilir. Böylece Android, medyayı duraklatma veya başkalarının odaklanmasını engelleme gibi uygun işlemleri yapabilir.

Harici akışlar, Android'in oluşturduğu ses ortamıyla etkileşimde bulunması gereken medya kaynaklarıysa (ör. harici bir tuner açıldığında MP3 oynatmayı durdurma) bu harici akışlar bir Android uygulamasıyla temsil edilmelidir. Bu tür bir uygulama, HAL yerine medya kaynağı adına ses odağı isteğinde bulunur ve Android odak politikasına uyacak şekilde harici kaynağı başlatıp durdurarak odak bildirimlerine yanıt verir.

Uygulama, oynatma ve duraklatma gibi medya tuşu etkinliklerini de işlemekle sorumludur. Bu tür harici cihazları kontrol etmek için önerilen mekanizmalardan biri şudur: HwAudioSource. Daha fazla bilgi edinmek için AAOS'te giriş cihazı bağlama başlıklı makaleyi inceleyin.

Çıkış cihazları

Ses HAL düzeyinde, cihaz türü AUDIO_DEVICE_OUT_BUS araç ses sistemlerinde kullanılmak üzere genel bir çıkış cihazı sağlar. Veri yolu cihazı, adreslenebilir bağlantı noktalarını (her bağlantı noktası fiziksel bir akışın uç noktasıdır) destekler ve araçta desteklenen tek çıkış cihazı türü olması beklenir.

Bir sistem uygulaması, tüm Android sesleri için tek bir veri yolu bağlantı noktası kullanabilir. Bu durumda Android, her şeyi karıştırıp tek bir yayın olarak sunar. Alternatif olarak, HAL, her CarAudioContext için bir veri yolu bağlantı noktası sağlayarak her türlü ses türünün eşzamanlı olarak iletilmesine olanak tanıyabilir. Bu sayede HAL uygulaması, farklı sesleri istediği gibi karıştırıp kısabilir.

Çıkış cihazlarına ses bağlamları atama işlemi car_audio_configuration.xml dosyası üzerinden yapılır. Daha fazla bilgi için Ses politikası yapılandırması başlıklı makaleyi inceleyin.