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 oynatan üçü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 yayınları 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 seslerini 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ımda 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 bir ş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ğlamak, Android tarafından sağlanan akışları karıştırmak ve bunları uygun hoparlörlere yönlendirmekten sorumludur.

Android sesleri

Uygulamalarda, bir veya daha fazla mantıksal ses verisi akışı yayınlamak için 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 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 duyulabilir hale getirmek, 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 bulunabiliyor. Böylece Android, medyayı duraklatma veya diğerlerinin odaklanmasını engelleme gibi uygun işlemleri yapabiliyor.

Harici akışlar, Android'in oluşturduğu ses ortamıyla etkileşimde bulunması gereken medya kaynaklarıysa (örneğin, 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 uymak için gerektiğinde 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 HwAudioSource. Daha fazla bilgi 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, herhangi bir ses türünün eşzamanlı olarak iletilmesine olanak tanımak için her CarAudioContext için bir veri yolu bağlantı noktası sağlayabilir. Bu sayede HAL uygulaması, farklı sesleri istenildiği gibi karıştırabilir ve kısabilir.

Çıkış cihazlarına ses bağlamlarının atanması car_audio_configuration.xml dosyası aracılığıyla yapılır. Daha fazla bilgi için Ses politikası yapılandırması başlıklı makaleyi inceleyin.