Android 13, uygulama geliştiricilerin telefon uygulaması, bağlı kulaklık ve kullanıcı ayarlarının mevcut kombinasyonunun çok kanallı ses içeriklerinin etkileyici bir şekilde oynatılmasına izin verip vermediğini keşfetmelerini sağlayan API'ler sunarak uzamsal ses desteği getiriyor.
OEM'ler, yeni ses işlem hattı mimarisini ve sensör çerçevesi entegrasyonunu kullanarak gerekli performans ve gecikme düzeyinde kafa hareketi izleme desteğiyle üç boyutlu ses efekti sağlayabilir. HID protokolü, Bluetooth üzerinden bir kafa izleme cihazının nasıl bağlanacağını ve Android sensör çerçevesi aracılığıyla HID cihazı olarak nasıl kullanılacağını belirtir. Diğer koşullar ve doğrulama için Uzamsal Ses ve Kafa Takibi başlıklı makaleyi inceleyin.
Bu sayfadaki yönergeler, Android 13 ve sonraki sürümleri çalıştıran bir Android telefon ile baş hareketini izleme sensörüne sahip uyumlu kulaklıklarla yeni üç boyutlu ses API'lerini ve ses mimarisini kullanan bir üç boyutlu ses çözümü için geçerlidir.
Dinamik ve statik üç boyutlu ses modlarının uygulanmasıyla ilgili yönergeler
Statik dinamik üç boyutlu ses için baş hareketini izleme özelliği gerekmez. Bu nedenle kulaklıkta belirli bir işlevsellik olması gerekmez. Tüm kablolu ve kablosuz kulaklıklar statik üç boyutlu ses özelliğini destekleyebilir.
API uygulaması
OEM'ler, Android 12'de kullanıma sunulan Spatializer
sınıfını uygulamalıdır. Uygulama, CTS testlerini geçmelidir.
Spatializer
sınıfı için kullanıma sunulmuştur.
Güçlü bir API uygulaması, özellikle medya akışı hizmetleri olmak üzere uygulama geliştiricilerin ekosistem genelinde tutarlı davranışlardan yararlanabilmesini ve cihaz özelliklerine, mevcut oluşturma bağlamına ve kullanıcı tercihlerine göre en iyi içeriği seçebilmesini sağlar.
Kullanıcı arayüzü
Spatializer
sınıfını uyguladıktan sonra kullanıcı arayüzünüzün aşağıdaki davranışa sahip olduğunu doğrulayın:
Üç boyutlu ses özellikli kulaklık eşleştirildiğinde, bu kulaklığın Bluetooth cihaz ayarlarında Üç Boyutlu Ses açma/kapatma düğmesi gösterilir:
1. şekil. Üç boyutlu ses ayarı.
Kulaklık bağlantısı kesildiğinde ayarlar kullanılabilir.
Kulaklık ilk kez eşlendikten sonra üç boyutlu sesin varsayılan durumu etkin olarak ayarlanır.
Kullanıcının seçtiği durum (etkin veya devre dışı) telefon yeniden başlatıldığında ya da kulaklık eşlemesi kaldırılıp yeniden eşlendiğinde korunur.
İşlevsel davranış
Ses biçimleri
Üç boyutlu ses etkinleştirildiğinde ve oluşturma cihazı kablolu veya Bluetooth kulaklık olduğunda aşağıdaki ses biçimleri, üç boyutlu ses efektiyle oluşturulmalıdır:
- AAC, 5.1 kanallı
- Ham PCM, 5.1 kanallı
Daha iyi bir kullanıcı deneyimi için aşağıdaki biçimleri/kanal yapılandırmalarını desteklemenizi önemle tavsiye ederiz:
- Dolby Digital Plus
- 5.1.2, 7.1, 7.1.2, 7.1.4 kanalları
Stereo içerik oynatma
Üç boyutlu ses etkin olsa bile stereo içerikler, üç boyutlu ses efekti motoru aracılığıyla işlenmemelidir. Bir uygulama, stereo içeriklerin uzamsallaştırılmasına izin veriyorsa kullanıcının bu özelliği kolayca açıp kapatmasına olanak tanıyan özel bir kullanıcı arayüzü sunmalıdır. Uzamsal ses etkinleştirildiğinde, kullanıcı ayarlarında herhangi bir değişiklik yapılmasına veya kulaklığın yeniden bağlanmasına ya da yeniden yapılandırılmasına gerek kalmadan uzamsallaştırılmış çok kanallı içeriğin oynatılmasından uzamsallaştırılmamış stereo içeriğin oynatılmasına geçiş yapılabilmelidir. Üç boyutlu ses içeriği ile stereo içerik arasındaki geçişte ses kesintisi en aza indirilmelidir.
Kullanım alanı geçişleri ve eşzamanlılık
Özel kullanım alanlarını aşağıdaki gibi ele alın:
- Bildirimler, her yönden gelen ses içeriğiyle aynı şekilde karıştırılmalıdır.
- Zil seslerinin, üç boyutlu ses içerikleriyle karıştırılmasına izin verilmelidir. Ancak, ses odaklanma mekanizması, zil sesi çaldığında üç boyutlu ses içeriğini varsayılan olarak duraklatır.
- Telefon görüşmesi veya video konferans araması yanıtlarken ya da yaparken uzamsal ses oynatma duraklatılmalıdır. Arama sona erdiğinde her yönden gelen ses oynatma aynı her yönden gelen ses ayarlarıyla devam etmelidir. Üç boyutlu ses modundan konuşma moduna geçmek için ses yolunun yeniden yapılandırılması, arama deneyimini etkilemeyecek kadar hızlı ve sorunsuz bir şekilde yapılmalıdır.
Hoparlörlerde ses işleme
Hoparlörlerde ses uzamsallaştırma veya transaural mod desteği gerekmez.
Kafa hareketi izleme özelliğini uygulama yönergeleri
Bu bölümde, belirli kulaklık gereksinimleri olan dinamik üç boyutlu sese odaklanılmaktadır.
Kullanıcı arayüzü
Üç boyutlu ses özellikli kulaklığın uygulanması ve eşlenmesi üzerine, kullanıcı arayüzünüzün aşağıdaki davranışa sahip olduğunu doğrulayın:
Bluetooth cihaz ayarlarında, kulaklığın Üç boyutlu ses ayarı etkinleştirildiğinde Üç boyutlu ses bölümünde Kafa hareketi izleme ayarı görünür:
Şekil 2. Üç boyutlu ses ve baş hareketini izleme ayarı.
Uzamsal ses devre dışı bırakıldığında kafa hareketi izleme ayarı GÖRÜNMEZ.
Kulaklık ilk kez eşlendikten sonra kafa hareketi izlemenin varsayılan durumu etkin olarak ayarlanır.
Kullanıcının seçtiği durum (etkin veya devre dışı) telefon yeniden başlatıldığında ya da kulaklık eşleştirilip eşleşmesi kaldırıldığında korunmalıdır.
İşlevsel davranış
Baş pozisyonu raporu
- Baş pozisyonu bilgileri (x, y ve z koordinatlarında), başlıktan Android cihaza gönderilirken kullanıcının baş hareketlerini hızlı ve doğru bir şekilde yansıtmalıdır.
- Bluetooth bağlantısı üzerinden baş pozisyonu raporlama, HID üzerinden tanımlanan protokole uygun olmalıdır.
- Kulaklık, kafa hareketi izleme bilgilerini yalnızca kullanıcı Bluetooth cihaz ayarı kullanıcı arayüzünde Kafa hareketi izleme'yi etkinleştirdiğinde Android telefona göndermelidir.
Performans
Yanıt gecikti
Baş izleme gecikmesi, atalet ölçüm birimi (IMU) tarafından yakalanan baş hareketinden kulaklık dönüştürücülerinin bu hareketin neden olduğu ses değişikliğini algılamasına kadar geçen süre olarak tanımlanır. Kafa hareketi izleme gecikmesi 150 ms'yi aşmamalıdır.
Baş duruşunu bildirme sıklığı
Baş takibi etkin olduğunda, başlığın baş pozunu yaklaşık 20 ms'lik önerilen periyodik bir temelde bildirmesi gerekir. Bluetooth'un iletim titremesi sırasında telefonda eski giriş algılama mantığının tetiklenmesini önlemek için iki güncelleme arasındaki maksimum süre 40 ms'yi aşmamalıdır.
Güç optimizasyonu
Gücü optimize etmek için uygulamanın, Bluetooth codec değiştirme ve gecikme modu seçimi mekanizmalarını kullanmasını öneririz. Bu mekanizmalar, ses HAL ve Bluetooth ses HAL arayüzleri tarafından sağlanır.
Ses çerçevesi ve Bluetooth yığınının AOSP uygulamaları, codec değiştirme işlemini kontrol eden sinyalleri zaten desteklemektedir. OEM'in uygulaması, Bluetooth ses için codec offload modu olarak bilinen birincil ses HAL'sini kullanıyorsa OEM, ses HAL'sinin bu sinyalleri ses HAL'si ile Bluetooth yığını arasında ilettiğinden emin olmalıdır.
Codec değiştirme
Dinamik üç boyutlu ses ve baş hareketini izleme özelliği açıkken Opus gibi düşük gecikmeli bir codec kullanın. Uzamsal olmayan ses içeriklerini oynatırken Advanced Audio Coding (AAC) gibi düşük güç tüketen bir codec kullanın.
Codec değiştirme sırasında aşağıdaki kurallara uyun:
- Yalnızca aşağıdaki ses HAL çıkış akışlarındaki etkinliği izleyin:
- Özel uzamsallaştırıcı çıkışı
- Derin arabelleğe alma veya sıkıştırılmış oynatma gibi medyaya özel akışlar
İlgili tüm akışlar boşta olduğunda ve uzamsallaştırıcı akışı başladığında, düşük gecikmeli bir codec belirtmek için
isLowLatency
değerinitrue
olarak ayarlayarak Bluetooth akışını başlatın.İlgili tüm akışlar boşta olduğunda ve bir medya akışı başladığında, düşük güçte bir codec belirtmek için
isLowLatency
değerinifalse
olarak ayarlayarak Bluetooth akışını başlatın.Bir medya akışı etkinse ve uzamsallaştırıcı akışı başlatılırsa
isLowLatency
ayarıtrue
olarak Bluetooth akışını yeniden başlatın.
Kulaklık tarafında, kulaklık hem düşük gecikmeli hem de düşük güç tüketen kod çözücüleri desteklemeli ve standart codec seçimi protokolünü uygulamalıdır.
Gecikme modu ayarı
Gecikme modu ayarı, düşük gecikmeli codec seçildiğinde yapılır.
Kafa takibi özelliğinin açık veya kapalı olmasına bağlı olarak, gecikme modu ayarı, gecikme, güç ve ses kalitesi arasında en iyi dengeyi sağlamak için gecikmeyi azaltmak veya artırmak üzere mevcut mekanizmaları kullanır. Üç boyutlu ses ve baş hareketini izleme etkinleştirildiğinde düşük gecikme modu seçilir. Uzamsal ses etkinleştirildiğinde ve kafa hareketi izleme devre dışı bırakıldığında, gecikmesiz mod seçilir. Gecikme ayarı, yalnızca statik üç boyutlu ses istendiğinde önemli ölçüde güç tasarrufu sağlar ve Bluetooth ses bağlantısının sağlamlığını artırır. En yaygın gecikme ayarlama mekanizması, Bluetooth kulaklıktaki titreşim arabelleği boyutunun azaltılması veya genişletilmesidir.
LE Audio için gecikme modu ayarlamaları hakkında bilgi edinmek üzere LE Audio üzerinden baş takibi başlıklı makaleyi inceleyin.