Bluetooth Düşük Enerji Ses (LEA), kullanıcıların pil ömründen ödün vermeden yüksek kaliteli ses alabilmesini ve farklı kullanım alanları arasında otomatik geçiş yapabilmesini sağlar. Android 13 (API düzeyi 33), LEA için yerleşik destek içerir.
LEA kaynak cihaz pazar payı artana kadar çoğu LEA kulaklık çift modlu olacaktır. Kullanıcılar, çift modlu kulaklıklarında her iki aktarım modunu da eşleyip ayarlayabilmelidir.
Kullanım alanları
LEA'yı aşağıdaki kullanım alanları için entegre etmek isteyebilirsiniz:
Ses paylaşımı: Kullanıcılar, birden fazla ses akışını aynı anda bir veya daha fazla ses alıcı cihazla paylaşabilir. Ses, kaynak cihaz ile bağlı cihazlar arasında senkronize edilir.
Yayın Sesi: Kullanıcılar arkadaşlarına ve ailelerine ses yayını yapabilir, aynı zamanda bilgi, eğlence veya erişilebilirlik için herkese açık yayınlara bağlanabilir.
LC3 ses codec'i desteği: Bu, varsayılan ses codec'idir ve A2DP (medya) için kullanılan SBC codec'inin ve HFP'deki (ses) mSBC'nin yerini alır. LC3 daha verimli, yeniden yapılandırılabilir ve daha yüksek kalitelidir.
Ses örnekleme iyileştirmeleri: Kulaklıklar, mikrofon kullanırken yüksek çıkışlı ses kalitesini koruyabilir. Bluetooth Klasik, Bluetooth mikrofonlar kullanılırken ses kalitesini düşürür. BLE Audio ile giriş ve çıkış örnekleme hızı 32 kHz'e ulaşabilir.
Stereo mikrofon: İşitilebilir cihazlar, üç boyutlu ses geliştirmeleri için stereo mikrofonlarla ses kaydedebilir.
İşitme Cihazı Profili (HAP) desteği: HAP, kullanıcılara önceki ASHA protokollerine kıyasla daha fazla erişilebilirlik ve kullanım imkanı sunar. Kullanıcılar, telefon aramaları ve VoIP uygulamaları için işitme cihazlarını kullanabilir.
Gelişmiş Özellik Protokolü (EATT) desteği: EATT, eşlenen işitilebilir cihazlara aynı anda birden fazla komut göndermenize olanak tanır.
Önemli senaryolar
Dört ana kullanım alanı kategorisi vardır:
Sohbet: Düşük gecikmeli iletişim yönlendirmesi gerektiren çevirici ve VoIP uygulamaları, yüksek kaliteli ses ve daha az pil kullanımı sunar.
Oyun: Eşzamanlı mikrofon ve yüksek kaliteli oynatma, oyunların işitilebilir cihazlara yüksek kaliteli ses akışı yapmasına olanak tanır. Oyun uygulamaları, oyun Bluetooth mikrofonu kullanıma hazır hale getirdiğinde BLE ses girişine erişebilir. Ardından, bir oyuncu başka bir oyuncuyla canlı sohbete başladığında oyun uygulaması mikrofon verilerini gecikme olmadan kullanabilir.
Medya: Medya uygulamaları, ses yöneticisinin tercih edilen cihazını ayarlayabilir. Kullanıcı, sistem ayarlarından tercih ettiği cihazı değiştirerek bu ayarı geçersiz kılabilir.
Erişilebilirlik: BLE Audio'yu destekleyen işitme cihazları mikrofonu kullanabilir. Böylece kullanıcılar, arama sırasında işitme cihazlarını kesintisiz olarak kullanabilir.
BLE Audio API'leri ve yöntemleri
BLE Audio işitilebilir cihazları desteklemek için aşağıdaki API'ler ve yöntemler gereklidir:
AudioManager
setCommunicationDevice(), iletişim amaçlı kullanım alanlarında (ör. sesli veya görüntülü görüşmeler) kullanılması gereken ses sistemini seçer. Bu yöntem, sesli veya görüntülü sohbet uygulamaları tarafından, platformun varsayılan olarak seçtiği ses sisteminden farklı bir ses sistemi seçmek için kullanılabilir. Bu API, desteği sonlandırılan şu API'lerin yerini alır:startBluetoothSco(),stopBluetoothSco()vesetSpeakerphoneOn().clearCommunicationDevice(), uygulamanız bir aramayı veya oturumu tamamladıktan sonra çağrılır. Bu sayede, kullanıcı farklı uygulamalar arasında geçiş yaparken mükemmel bir deneyim yaşar.
BluetoothProfile
BluetoothLeAudio, proxy nesnesi kullanarak Bluetooth hizmetini kontrol eder.
Telecom InCallService
InCallService.requestCallEndpointChange(), desteği sonlandırılanInCallService.setAudioRoute()veInCallService.requestBluetoothAudio()API'lerinin yerini alır ve uygulamaların belirli birCallEndpointiçin ses yönlendirme isteğinde bulunmasına olanak tanır. Müşteriler, değişiklik isteğinde bulunurken kendiCallEndpointdeğerlerini tanımlamamalıdır. Bunun yerine, yeni uç noktaInCallService.onAvailableCallEndpointsChanged(java.util.List)tarafından sağlanan geçerli uç noktalardan biri olmalıdır.CallEndpoint.TYPE_BLUETOOTH, ses akışını Bluetooth üzerinden yönlendirir.- Bu
InCallServiceAPI'leri, telefondaki varsayılan telefon uygulaması veya ses yönlendirmeyi etkilemek isteyebilecek giyilebilir cihazlar, otomobiller ya da diğer Bluetooth cihazları gibi diğer arama yüzeyleri tarafından kullanılmak üzere tasarlanmıştır.
Telecom CallControl
CallControlsınıfı, Android 14'te (API düzeyi 34) kullanıma sunulmuştur ve yalnızca VoIP uygulamaları içinConnectionileConnectionService'un yerini alır.CallControl.requestCallEndpointChange(),CallEndpointdeğişikliği de talep ediyor. Bu API, desteği sonlandırılanConnection.requestBluetoothAudio()veConnection.setAudioRoute()API'lerinin yerini almıştır.- Sesli veya görüntülü görüşme uygulamaları oluştururken güncellenmiş Telecom platformu API'lerinin yanı sıra Telecom Jetpack kitaplığını kullanmanız önemle tavsiye edilir. Bu kitaplık, entegrasyon sürecini büyük ölçüde basitleştirebilir ve tüm Android platformlarında VoIP aramalarını iyileştirebilir.
Ses Sistemi Bilgileri
AudioDeviceInfo.TYPE_BLE_HEADSET, ses sistemi türünü LEA cihazı olarak tanımlar. İşitilebilir cihazın LEA cihazı olup olmadığını belirlemek için kullanılır.
Ses Kaydedici
setPreferredDevice(), ses yönlendirme için kullanılacak tercih edilen cihazı ayarlar. Kullanıcı, sistem ayarlarında bu ayarı geçersiz kılabilir.
Bluetooth Adaptörü
isLeAudioSupported(): Cihaz donanımının LE Audio'yu destekleyip desteklemediğini belirten bir@BluetoothStatusCodessabiti (FEATURE_SUPPORTED,FEATURE_NOT_SUPPORTEDveya hata kodu) döndürür.isLeAudioBroadcastSourceSupported(): Cihaz donanımının LE Audio yayın kaynağını destekleyip desteklemediğini belirten bir@BluetoothStatusCodessabiti (FEATURE_SUPPORTED,FEATURE_NOT_SUPPORTEDveya hata kodu) döndürür.
Kullanım alanına göre kılavuzlar
Aşağıda, belirli kullanım alanlarına göre LEA'yı uygulama yönergeleri verilmiştir.
Sesli iletişim uygulamaları
Sesli iletişim uygulamaları, ses yönlendirmeyi ve cihaz durumunu kendi durumlarını yöneterek veya ses yönlendirme ve durum mantığını sizin için yapan Telecom API'yi kullanarak yönetebilir.
Kendi Kendini Yöneten:
startBluetoothSco(),stopBluetoothSco()vesetSpeakerphoneOn()kullanan veya ses yönlendirme durumunu kendi kendine yönetmek isteyen uygulamalar için Audio Manager kendi kendini yöneten arama kılavuzunu inceleyin.Yönetilen: Sesli veya görüntülü görüşme uygulaması oluşturmak için Telecom Jetpack kitaplığını veya Telecom platformu API'lerini kullanın.
Bu iki çözüm, ses yönlendirmeyi kontrol etmenize ve Bluetooth cihazlar arasında geçiş yapmanıza olanak tanır. Daha fazla bilgi için Telekom tarafından yönetilen aramalar kılavuzunu inceleyin.
Ses kaydı uygulamaları
- Medya Kaydedici: Medya Kaydedici'yi kullanarak ses kaydederken Bluetooth işitilebilir cihaz LEA'yı destekliyorsa stereo olarak kayıt yapabilirsiniz. Daha fazla bilgi için Ses kaydı kılavuzu'nu inceleyin.
Mikrofonlu kulaklık önerileri
Daha fazla LEA kulaklık piyasaya sürüldükçe gerçek dünya testlerinde kullanıcı deneyimini olumsuz etkileyen sorunlar tespit ettik. Spesifikasyon, bu sorunların tümünü kapsamaz. Aşağıdaki tabloda, LEA kulaklık üreticilerinin Android kullanıcılarına uçtan uca daha iyi bir deneyim sunmak için uyması gereken önerilerin listesi yer almaktadır.
| Açıklama | Bağlam |
|---|---|
Çift modlu kulaklıklar için Çapraz Aktarım Anahtarı Türetme (CTKD) desteği:
|
LEA kaynak cihaz pazar payı artana kadar yeni LEA kulaklıkların çoğu çift modlu olacaktır. Kullanıcıların çift modlu kulaklıklarını sorunsuz bir şekilde eşleyebilmesi ve her iki aktarımı da ayarlayabilmesi önemlidir. Bu, Google Hızlı Eşleme için de önemlidir. |
|
LEA kulaklıklarınızın kaynak cihazlara güvenilir bir şekilde yeniden bağlanmasını istiyorsanız Hedeflenen Duyurular (TA) özelliğini destekleyin. LE Audio kulaklıklar, merkezi cihazlardan gelen bağlantı isteğinde bulunmak için TA'ları kullanmalıdır. Yakında çıkacak BT SIG'ye eklenecek. |
Bağlantının telefon veya kulaklık tarafından başlatılabildiği BR/EDR'nin sayfalama modelinin aksine, LEA'da bağlantı merkezi cihaz tarafından başlatılmalıdır. Birçok kulaklık TA kullanmaz. Bu nedenle, merkezi cihaz, çevre birimini izin verilenler listesine eklemeden çevre birimine yeniden bağlanamayabilir. Ancak izin verilenler listesi geçici çözümü, kulaklığın farklı bir merkezi cihaza bağlanmasını engelleyebilir. Bu nedenle, LEA kulaklıkların TA'ları düzgün şekilde desteklemesi önemlidir. Böylece merkezi cihaz, çok noktalı bağlantıları bozabilecek geçici çözümler olmadan güvenilir bir şekilde yeniden bağlanabilir. |
Çift modlu kulaklıklar için optimize edilmiş bulunabilirlik
|
Bu sayede, çift modlu LEA kulaklıkların Bluetooth ayarlarında yinelenen girişler olarak görünmesi engellenir. Bu durum, kullanıcıların kafasını karıştırabilir ve LEA eşleme deneyimini olumsuz etkileyebilir.
Dinamik lider seçimi, özellikle kademeli olarak eşlenen çift modlu cihazlar için önemlidir. Örneğin, ilk eşleme sırasında yalnızca bir kulaklık varsa bu kulaklık, çift modlu bir cihaz olarak görünmelidir. Kullanıcı daha sonra ikinci kulaklığı eşlediğinde yalnızca LE bileşeniyle eşlemesi gerekir. CSIP, bu kulaklıkların Android'de birlikte gruplandırılmasını sağlar. BR/EDR bileşeni, cihazın herkese açık adresini yakındaki cihazlara zaten gösterdiğinden eşleme sırasında kimlik adresi önerilir. |
| Gelişmiş Özellik Protokolü'nü (EATT) destekler. | Eşleme ve bağlantı gecikmesini azaltır. |
| Güçlü GATT önbelleğe alma özelliğini destekleme | Özellikle TWS kulaklıklarda bağlantı gecikmesini azaltır. |
| Bağlantı alt derecelendirmesini destekler. | Daha esnek paket planlaması ve potansiyel pil tasarrufu sağlar. |
| Hem oynatma hem de yakalama için ön ve son işleme sırasında sinyal işleme ardışık düzeninin 16, 24, 32 ve 48 kHz'de çalışabildiğinden ve daha yüksek frekansları desteklediğinden emin olun. | LEA araması veya VoIP yakalama yolları ve medya oynatma için desteklenen daha yüksek örnekleme hızlarından yararlanır. |
| LE Güç Kontrolü'nü destekleme | Daha iyi güç yönetimi |
Bağlam türü desteği
| Açıklama | Bağlam |
|---|---|
| Kulaklık, belirli bir bağlam türünü açıkça desteklemediği sürece Atanan Numaralar 6.12.3 bölümünde belirtilen tüm bağlam türlerini kullanın. | Örneğin, "Oyun" bağlam türü desteklenmiyorsa Android, oyun seslerini gönderir. Özellikle, "Belirtilmemiş" bağlam türünün "herhangi bir bağlam türü" anlamına gelmediğini ve desteklenmeyen bağlam türlerini kapsamadığını unutmayın. |
Merkezi cihaz, çevre biriminin ASCS'si ile etkileşimde bulunduğunda çevre birimi, merkezi cihazın MCS'sine ve TBS'sine bağlanmalıdır. Merkezi cihaz, A2DP veya HFP'ye geri dönebileceğinden akış rotası olarak her zaman LE Audio'yu kullanmayabilir. Çevre birimi, merkezi cihazın akış için LE Audio kullanıp kullanmayacağını belirlemek amacıyla ASCS etkileşimini kullanabilir. ASCS etkileşimlerine örnek olarak okuma, yazma ve bildirim için kaydolma verilebilir. |
Auracast verici önerileri
Bu bölümde, Auracast vericilerini yapılandırmayla ilgili öneriler yer almaktadır.
Aralıklı yayınlar
Toplu taşıma terminalleri gibi kamusal alanlardaki sesli duyurular genellikle aralıklıdır ve uzun sessizlik dönemleriyle ayrılır. Duyurular arasında sürekli olarak sessizlik veya arka plan sesi yayınlamak, alıcı gücünü boşa harcar ve kullanıcıların yerel medya veya başka bir etkin Auracast yayını gibi birincil ses yayınlarını dinlemesini engeller.
Android, kullanıcı deneyimini iyileştirmek için Auracast vericilerinin kesintili yayınları işlerken aşağıdaki yönergelere uymasını önerir.
Tanımlar
- İlgili ses: Kullanıcıya yönelik temel bilgilendirici içerik (ör. kapı veya tren anonsu).
- Arka Plan Sesi: İlgili ses bölümleri arasında iletilen arka plan sessizliği, statik ses veya ortam müziği.
- Aralıklı yayın: İlgili ses ve arka plan sesi dönemleri arasında geçiş yapan veya hiç ses içermeyen yayın.
Aralıklı yayınları belirleme
Yayıncı, bir yayını Kesintili Yayın olarak tanımlamak için Audio_Active_State meta veri LTV (Uzunluk-Tür-Değer) yapısını [1] iki konuma eklemelidir:
- BASE yapısı 2. Seviye Meta Veriler (Periyodik Reklamlar) [2]
- Herkese Açık Yayın Duyurusu Meta Verileri (Genişletilmiş Reklamlar) [3]
Yayıncı, alıcının Kesintili Yayını tanımlamasına ve akışı oynatıp oynatmayacağına karar vermesine yardımcı olmak için Streaming_Audio_Context meta veri LTV yapısını [1] doğru şekilde ayarlamalıdır.
İlgili sesleri belirleme
Verici, Kesintili Yayın'ın herhangi bir zamanda İlgili Ses içerip içermediğini dinamik olarak belirtmek için Audio_Active_State meta veri LTV yapılarını kullanır.
- BASE yapısı 2. seviye meta veriler: 0x01 değeri, bir alt gruptaki BIS'lerin ilgi çekici ses içerdiğini gösterir.
- Genel Yayın Duyurusu Meta Verileri: 0x01 değeri, bir BIG içindeki BIS'lerden en az birinin İlgi Çekici Ses içerdiğini gösterir.
Audio_Active_State meta verisi LTV değerleri, ilgilenilen ses iletilmeden kısa bir süre önce 0x01 olarak ayarlanmalıdır. Böylece tarama cihazı, herkese açık yayın kaynağıyla senkronize edilebilir. Buna karşılık, iletim sona erdikten kısa bir süre sonra 0x00 olarak ayarlanmalıdır.
Ses akışı bağlamından yararlanma
Açık bağlam sağlamak, Android çerçevesinin ve alıcı cihazların gelen akışlara öncelik vermesine yardımcı olur. Örneğin, bir anons sistemi, duyuruların alıcının yerel medya oynatmasını düzgün bir şekilde kesintiye uğratmasına ve sonrasında sorunsuz bir şekilde devam ettirmesine olanak tanımak için Streaming_Audio_Context türünü Instructional olarak ayarlayabilir.
Referanslar
[1] Bluetooth Assigned Numbers,
https://www.bluetooth.com/specifications/assigned-numbers/
[2] Basic Audio Profile,
https://www.bluetooth.com/specifications/specs/basic-audio-profile-1-0-3/
[3] Public Broadcast Profile,
https://www.bluetooth.com/specifications/specs/public-broadcast-profile-1-0-2/