Genel bakış

Android Automotive OS (AAOS), bir araçta bilgi-eğlence sistemi olarak çalışmaya yönelik kullanım örneklerini desteklemek için çekirdek Android ses yığınını temel alır. AAOS bilgi-eğlence seslerinden (yani medya, navigasyon ve iletişim) sorumludur, ancak kesin kullanılabilirlik ve zamanlama gereksinimleri olan zil seslerinden ve uyarılardan doğrudan sorumlu değildir.

AAOS, aracın sesi yönetmesine yardımcı olacak sinyaller ve mekanizmalar sağlarken, sonuçta sürücü ve yolcular için hangi seslerin çalınması gerektiğine karar vermek araca kalmıştır; güvenlik açısından kritik seslerin ve düzenleyici seslerin, kesinti.

AAOS, Android ses yığınını kullandığından, ses çalan üçüncü taraf uygulamaların telefonlarda olduğundan farklı bir şey yapmasına gerek yoktur. Uygulamanın ses yönlendirmesi, Ses ilkesi 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ının, kaynak için ses odağını ve medya anahtar olaylarını yönetebilen uygulamalar tarafından temsil edilmesi gerekir.

Android sesleri ve akışları

Otomotiv ses sistemleri aşağıdaki sesleri ve akışları yönetir:

image

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

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

  • Temel ses terminolojisinde kaynaklar olarak bilinen mantıksal akışlar , Ses nitelikleriyle etiketlenir.

  • Çekirdek ses terminolojisinde cihazlar olarak bilinen fiziksel akışlar , miksaj sonrasında hiçbir bağlam bilgisine sahip değildir.

Güvenilirlik açısından harici sesler (emniyet kemeri uyarı sesleri gibi bağımsız kaynaklardan gelen) Android dışında, HAL'ın altında ve hatta ayrı bir donanımda yönetilir. Sistem uygulayıcıları, Android'den gelen bir veya daha fazla ses girişi akışını kabul eden ve daha sonra bu akışları aracın gerektirdiği harici ses kaynaklarıyla uygun bir şekilde birleştiren bir mikser sağlamalıdır. Android Kontrolü HAL, Android dışında üretilen seslerin Android ile geri iletişim kurması için farklı bir mekanizma sağlar:

  • Ses odaklama isteği
  • Kazanç veya hacim sınırlamaları
  • Kazanç ve hacim değişiklikleri

Ses HAL uygulaması ve harici mikser, güvenlik açısından kritik harici seslerin duyulmasını sağlamaktan ve Android tarafından sağlanan akışlarda karıştırılıp bunları uygun hoparlörlere yönlendirmekten sorumludur.

Android sesleri

Uygulamalar, bir veya daha fazla mantıksal ses verisi akışı sağlamak üzere standart Android API'leri (örneğin, odak kontrolü için AudioManager veya akış için MediaPlayer ) aracılığıyla etkileşime giren bir veya daha fazla oynatıcıya sahip olabilir. Bu veriler tek kanallı mono veya 7.1 surround olabilir ancak tek bir kaynak olarak yönlendirilir ve işlenir. Uygulama akışı, sesin nasıl ifade edilmesi gerektiğine ilişkin sisteme ipuçları veren AudioAttributes ile ilişkilidir.

Mantıksal akışlar AudioService aracılığıyla gönderilir ve her biri AudioFlinger içindeki bir mikserin çıkışı olan mevcut fiziksel çıkış akışlarından birine (ve yalnızca birine) yönlendirilir. Ses nitelikleri fiziksel bir akışa karıştırıldıktan sonra artık kullanılamazlar.

Daha sonra her fiziksel akış, donanımda işlenmek üzere Ses HAL'e iletilir. Otomotiv uygulamalarında işleme donanımı, yerel kodlayıcılar (mobil cihazlara benzer) veya aracın fiziksel ağı üzerindeki uzak bir işlemci olabilir. Her iki durumda da, gerçek örnek verileri iletmek ve bunların duyulabilir hale gelmesini sağlamak Audio HAL uygulamasının görevidir.

Dış akışlar

Android üzerinden yönlendirilmemesi gereken ses akışları (sertifika veya zamanlama nedenleriyle) doğrudan harici miksere gönderilebilir. Android 11'den itibaren HAL, medyayı duraklatmak veya başkalarının odaklanmasını önlemek gibi uygun eylemleri gerçekleştirebilmesi için Android'i bilgilendirmek amacıyla artık bu harici seslere odaklanma talebinde bulunabiliyor.

Harici akışlar, Android'in oluşturduğu ses ortamıyla etkileşime girmesi gereken medya kaynaklarıysa (örneğin, harici tuner açıldığında MP3 oynatmanın durdurulması), bu harici akışların bir Android uygulaması tarafından temsil edilmesi gerekir. Böyle bir uygulama, HAL yerine medya kaynağı adına Ses odağı talep eder ve Android odak politikasına uymak için gerektiği şekilde harici kaynağı başlatıp durdurarak odak bildirimlerine yanıt verir.

Uygulama aynı zamanda oynatma ve duraklatma gibi önemli medya olaylarını yönetmekten de sorumludur. Bu tür harici cihazları kontrol etmek için önerilen mekanizmalardan biri HwAudioSource . Daha fazla bilgi edinmek için AAOS'ta giriş cihazını bağlama konusuna bakın.

Çıktı cihazları

Ses HAL düzeyinde, AUDIO_DEVICE_OUT_BUS cihaz türü, araç ses sistemlerinde kullanım için genel bir çıkış cihazı sağlar. Veri yolu cihazı, adreslenebilir bağlantı noktalarını (her bağlantı noktasının fiziksel bir akışın bitiş noktası olduğu) destekler ve bir 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 bir araya getirir ve tek bir akış olarak sunar. Alternatif olarak HAL, herhangi bir ses tipinin eş zamanlı iletilmesine olanak sağlamak amacıyla her CarAudioContext için bir veri yolu bağlantı noktası sağlayabilir. Bu, HAL uygulamasının farklı sesleri istenildiği gibi karıştırıp azaltmasını mümkün kılar.

Ses bağlamlarının çıkış cihazlarına atanması car_audio_configuration.xml dosyası aracılığıyla yapılır. Daha fazla bilgi edinmek için bkz . Ses ilkesi yapılandırması .