Kulaklık Kontrolleri

Hızlı Eşleme'deki giyilebilir cihaz kontrolleri, Android'deki önemli giyilebilir cihaz özellikleri için daha iyi erişim denetimleri sunmayı amaçlar. Bu amaca ulaşmak için Mesaj Akışı'na yeni bir mesaj grubu İşitilebilir kontrolleri eklendi.

Mesaj Grubu Adı Değer
Kulaklık kontrolü 0x08

Aktif gürültü kontrolü

Aktif gürültü kontrolü, premium kulaklıklarda öne çıkan bir özellik haline geliyor. Arayan tarafında Hızlı Eşleme, durumu ayarlamak, almak ve kaydetmek için kullanıcı arayüzüne ve mantığa sahip olur. Durum ise Sağlayıcı tarafında saklanır. Etkinlik akışı bağlıyken sağlayıcının Oturum Nonce göndermesi zorunludur. Bunun için aşağıdaki mesaj kodları tanımlanır:

Mesaj Kodu Adı Değer Gönderen Katılımcı MAC ACK
ANC durumunu alma 0x11 Seeker Sağlayıcı H H
ANC durumunu ayarlama 0x12 Seeker Sağlayıcı Y Y
ANC durumunu bildirme 0x13 Sağlayıcı Seeker H H

Bir arayan bir sağlayıcıya bağlandığında veya bir sağlayıcı "ANC durumunu al" mesajı aldığında sağlayıcı, ANC durumunu bildirerek arayana ANC özelliğini ve depolanan durumunu bildirebilir. Mesaj şu şekildedir:

Bayt Veri Türü Açıklama Değer
0 uint8 Kulaklık kontrolü 0x08
1 uint8 ANC durumunu bildirme 0x13
2 - 3 uint16 Ek veri uzunluğu 0x04
4 - 7 ANC kontrol verileri değişir
ANC kontrol verileri
Bayt Veri Türü Açıklama Değer
0 uint8 Sürüm kodu değişir,bu sürüm için 0x02
1 Bayraklar Kullanıcı arayüzü açma/kapatma düğmeleri
Her mod, işaret biti değerine göre etkinleştirilir (1) veya devre dışı bırakılır (0).
Bit 0 (MSB): şeffaf
Bit 1: Ayrılmış (Biti 0 olarak ayarlayın)
Bit 2: kapalı
Bit 3: Ayrılmış (Biti 0 olarak ayarlayın)
Bit 4: ANC
değişir
2 Bayraklar Ayarlanabilir açma/kapatma düğmeleri
Yukarıdaki kullanıcı arayüzü açma/kapatma düğmelerinin herhangi biri veya tümü de burada ayarlanarak şu anda hangilerinin etkin olduğunu gösterebilir.
değişir
3 Bayraklar Mevcut durum
Yalnızca bir bit ayarlanabilir ve bu baytın değeri sıfırdan farklı olmalıdır.
değişir

Arama motoru, ANC kontrol verilerine göre açma/kapatma kullanıcı arayüzünü gösterir.

1. Örnek: Sağlayıcı 3 yönlü ANC'yi destekler: şeffaf - kapalı - ANC ve kulaklık kafaya takılıyken tüm modlar ayarlanabilir ve mevcut durum kapalıdır:

Bayt Veri Türü Açıklama Değer
0 uint8 Sürüm kodu 0x01
1 Bayraklar Kullanıcı arayüzü açma/kapatma düğmeleri 0b10101000
2 Bayraklar Ayarlanabilir açma/kapatma düğmeleri 0b10101000
3 Bayraklar Geçerli durum 0b00100000

2. örnek: Sağlayıcı 3 yönlü ANC'yi (şeffaf - kapalı - ANC) destekler. Şu anda yalnızca bir kulaklık kulağa takılı veya kulağa takılı kulaklık yoktur. Bu nedenle, hiçbir mod ayarlanamaz ve mevcut durum kapalıdır:

Bayt Veri Türü Açıklama Değer
0 uint8 Sürüm kodu 0x01
1 Bayraklar Kullanıcı arayüzü açma/kapatma 0b10101000
2 Bayraklar Ayarlanabilir açma/kapatma düğmesi 0b00000000
3 Bayraklar Geçerli durum 0b00100000

Kullanıcı açma/kapatma düğmesini değiştirirse Arayan, mevcut durumu sağlayıcı için aşağıdaki şekilde ayarlar:

Bayt Veri Türü Açıklama Değer
0 uint8 Kulaklık kontrolü 0x08
1 uint8 ANC durumunu ayarlama 0x12
2 - 3 uint16 Ek veri uzunluğu değişir, 0x04 veya 0x14
4 uint8 Konuşmacı sürüm kodu değişir, 0x01 veya 0x02
5 Bayraklar ANC Ayarlanabilir modları (kullanıcı arayüzü açma/kapatma) değişir
6 Bayraklar ANC etkin modları (Ayarlanabilir açma/kapatma düğmesi) değişir
7 Bayraklar Yeni ANC modu dizini (Yeni durum) değişir
8 - 23 Rezervasyon yapıldı değişir

4-7 bayt aslında arayan tarafında gönderilen ANC kontrol verileridir. Ek uzunluk değeri 0x14 olarak ayarlanırsa 8-23 arasındaki ayrılmış baytlar mevcut olur ve bu baytlar alındığında sağlayıcı bunları yok saymalıdır. Ek uzunluk değeri 0x04 olarak ayarlanırsa ayrılmış bayt yoktur.

Bir sağlayıcı "ANC durumunu ayarla" mesajı aldığında onaylayıp ANC durumunu bağlı tüm arayanlara bildirmelidir. Kullanıcı ayarı kulaklık hareketi veya tamamlayıcı uygulama üzerinden değiştirirse Sağlayıcı, bağlı tüm Arayanlar'a da bildirim göndermelidir.