Android 13, uygulama geliştiricilerin mevcut telefon uygulaması, bağlı kulaklık ve kullanıcı ayarlarının, çok kanallı ses içeriğinin sürükleyici bir şekilde oynatılmasına izin verip vermediğini keşfetmelerine olanak tanıyan API'ler sağlayarak uzamsal ses desteğini kullanıma sunar.
OEM'ler, yeni ses ardışık düzeni mimarisini ve sensör çerçevesi entegrasyonunu kullanarak gerekli performans ve gecikme düzeyinde kafa hareketi izleme desteği sunan bir üç boyutlu ses efekti sağlayabilir. HID protokolü, bir kafa hareketi izleme cihazının Bluetooth üzerinden nasıl bağlanacağını ve Android sensör çerçevesi aracılığıyla HID cihaz olarak nasıl kullanılacağını belirtir. Daha fazla şart ve doğrulama için Uzamsal Ses ve Baş İzleme başlıklı makaleyi inceleyin.
Bu sayfadaki yönergeler, Android 13 ve sonraki sürümleri çalıştıran bir Android telefon ve baş hareketini izleyen sensör içeren uyumlu kulaklıklar ile yeni dinamik üç boyutlu ses API'lerini ve ses mimarisini benimseyen dinamik üç boyutlu ses çözümü için geçerlidir.
Dinamik ve statik üç boyutlu ses modlarının uygulanmasıyla ilgili kurallar
Statik üç boyutlu ses için baş hareketi izlemeye gerek yoktur. Bu nedenle, kulaklıkta belirli bir işlev gerekli değildir. Tüm kablolu ve kablosuz kulaklıklar statik üç boyutlu sesi destekleyebilir.
API'yi uygulama
OEM'ler, Android 12'de kullanıma sunulan Spatializer
sınıfını UYGULAMALIDIR. Uygulama, Spatializer
sınıfı için kullanıma sunulan CTS testlerini geçmelidir.
Güçlü bir API uygulaması, özellikle medya akış hizmetleri olmak üzere uygulama geliştiricilerin ekosistem genelinde tutarlı bir davranışa güvenebilmesini 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şlendiğinde, bu kulaklığın Bluetooth cihaz ayarlarında Üç Boyutlu Ses açma/kapatma düğmesi gösterilir:
Şekil 1. Üç boyutlu ses ayarı.
Ayarlar, mikrofonlu kulaklığın bağlantısı kesildiğinde kullanılabilir.
Mikrofonlu kulaklığı ilk kez eşledikten sonra üç boyutlu sesin varsayılan durumu etkin olarak ayarlanır.
Kullanıcı tarafından seçilen etkin veya devre dışı durum, telefon yeniden başlatıldığında veya kulaklığın eşlemesi kaldırılıp tekrar 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 EFEKTİYLE OLUŞTURULMALIDIR:
- AAC, 5.1 kanal
- Ham PCM, 5.1 kanal
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 kanal
Stereo içerik oynatma
Üç boyutlu ses etkin olsa bile stereo içerikler, üç boyutlu ses motoru aracılığıyla oluşturulmamalıdır. Bir uygulama stereo içerik uzamsallaştırmaya 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. Üç boyutlu ses etkinleştirildiğinde, kullanıcı ayarlarında herhangi bir değişiklik yapmadan, kulaklık yeniden bağlanmadan veya yeniden yapılandırılmadan üç boyutlu çok kanallı içeriğin oynatılması ile üç boyutlu olmayan stereo içeriğin oynatılması arasında geçiş yapılabilmelidir. Üç boyutlu ses içeriği ile stereo içerik arasında geçiş, ses kesintisi en aza indirilecek şekilde yapılmalıdır.
Kullanım alanı geçişlerini ve eşzamanlılığı kullanma
Özel kullanım alanlarını aşağıdaki şekilde ele alın:
- Bildirimler, her yönden gelen ses içeriğiyle aynı şekilde her yönden gelen ses içeriğiyle karıştırılmalıdır.
- Zil seslerinin üç boyutlu ses içeriğiyle karıştırılmasına izin verilmelidir. Ancak ses odak mekanizması, varsayılan olarak zil sesi geldiğinde üç boyutlu ses içeriğini duraklatır.
- Telefon araması veya görüntülü konferansı yanıtlarken ya da başlatırken uzamsal ses oynatma duraklatılmalıdır. Arama sona erdiğinde, Üç Boyutlu Ses oynatma aynı Üç Boyutlu 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 şekilde hızlı ve sorunsuz bir şekilde yapılmalıdır.
Hoparlörler üzerinden oluşturma
Hoparlörler üzerinden ses üç boyutlulaştırma veya transaural mod desteği gerekli değildir.
Kafa hareketi izlemenin uygulanmasıyla ilgili yönergeler
Bu bölümde, belirli kulaklık koşullarına sahip dinamik üç boyutlu ses özelliği ele alınmaktadır.
Kullanıcı arayüzü
Üç boyutlu ses özellikli kulaklığın uygulanması ve eşlenmesinden sonra kullanıcı arayüzünüzün aşağıdaki davranışa sahip olduğunu doğrulayın:
Bluetooth cihaz ayarlarında, kulaklık için Üç Boyutlu Ses ayarı etkinleştirildiğinde Üç Boyutlu Ses altında bir Kafa hareketi izleme ayarı görünür:
Şekil 2. Üç boyutlu ses ve baş hareketini izleme ayarı.
Üç boyutlu ses devre dışıyken kafa hareketi izleme ayarı GÖSTERİLMEZ.
Mikrofonlu kulaklığı ilk kez eşledikten sonra kafa hareketi izlemenin varsayılan durumu etkin olarak ayarlanır.
Kullanıcının etkin veya devre dışı olarak seçtiği durum, telefonun yeniden başlatılması ya da kulaklığın eşlemesinin kaldırılıp tekrar eşlenmesi durumunda değişmemelidir.
İşlevsel davranış
Baş pozu raporlama
- Kulaklıktan Android cihaza gönderilen x, y ve z koordinatlarındaki kafa pozu bilgileri, kullanıcının kafa hareketlerini hızlı ve doğru bir şekilde yansıtmalıdır.
- Bluetooth bağlantısı üzerinden kafa duruşu raporlaması, HID üzerinden tanımlanan protokole uymalıdır.
- Kulaklık, kafa hareketi izleme bilgilerini yalnızca kullanıcı Bluetooth cihaz ayarları kullanıcı arayüzünde Kafa hareketi izleme'yi etkinleştirdiğinde Android telefona göndermelidir.
Performans
Yanıt gecikti
Baş takibi gecikmesi, eylemsel ölçüm birimi (IMU) tarafından yakalanan kafa hareketinden, kulaklık dönüştürücülerin 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ş pozu raporlama oranı
Kafa takibi etkinken kulaklık, kafa duruşunu yaklaşık 20 ms'lik önerilen periyodik bir şekilde bildirmelidir. Bluetooth'un aktarım gecikmesi 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 uygulamada, ses HAL ve Bluetooth ses HAL arayüzleri tarafından sağlanan Bluetooth codec geçişi ve gecikme modu seçimi mekanizmalarının kullanılmasını öneririz.
Ses çerçevesinin ve Bluetooth yığınının AOSP uygulamaları, codec geçişini kontrol etmek için sinyalleri zaten desteklemektedir. OEM'nin uygulamasında Bluetooth ses için birincil ses HAL'i (codec yükü devre dışı bırakma modu olarak bilinir) kullanılıyorsa OEM, ses HAL'inin bu sinyalleri ses HAL'i ile Bluetooth yığını arasında aktarmasını sağlamalıdır.
Kodek değiştirme
Dinamik üç boyutlu ses ve baş hareketini izleme açıkken Opus gibi düşük gecikmeli bir codec kullanın. Mekansal olmayan ses içeriklerini oynatırken Gelişmiş Ses Kodlama (AAC) gibi düşük güçlü bir codec kullanın.
Kodek geçişi 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ştayken ve uzamsallaştırıcı akışı başladığında, düşük gecikmeli bir codec belirtmek için
isLowLatency
true
olarak ayarlanmış şekilde Bluetooth akışını başlatın.İlgili tüm akışlar boştayken ve bir medya akışı başladığında, düşük güç kullanan bir codec belirtmek için
isLowLatency
false
olarak ayarlanmışken Bluetooth akışını başlatın.Etkin bir medya akışı varsa ve uzamsallaştırıcı akışı başlarsa
isLowLatency
'yitrue
olarak ayarlayarak Bluetooth akışını yeniden başlatın.
Kulaklık tarafında, kulaklık hem düşük gecikmeli hem de düşük güç tüketimi olan kod çözücüleri desteklemeli ve standart codec seçim protokolünü uygulamalıdır.
Gecikme modu ayarı
Gecikme modu ayarı, düşük gecikmeli codec seçildiğinde gerçekleşir.
Gecikme modu ayarı, kafa takibi açık veya kapalı olup olmadığına bağlı olarak gecikme, güç ve ses kalitesi arasında en iyi dengeyi sağlamak için gecikme süresini azaltmak veya artırmak üzere mevcut mekanizmaları kullanır. Üç boyutlu ses ve baş hareketini izleme etkinleştirildiğinde düşük gecikmeli mod seçilir. Üç boyutlu 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 ayarı mekanizması, Bluetooth kulaklıkta jitter arabellek boyutunun azaltılması veya uzatılmasıdır.
LE Audio için gecikme modu ayarlamalarına LE Audio üzerinden kafa hareketi izleme başlıklı makaleden ulaşabilirsiniz.