Ana içeriğe geç

Takma Algılama Durumunu Görüntüleme

Takma algılamanın etkin olup olmadığını ve kulaklıkların hiçbirinin, birinin veya her ikisinin takılı olup olmadığını okuyun.

Ön Koşullar

  • Cihaz bağlı ve hazırdır.
  • Cihaz DeviceWearDetectionAPI protokolüne uyar.

API Referansı

Framework

AIBuds.xcframework

İçe Aktarma

Swift
import AIBuds

Protokol

Swift
/// The protocol for device wear detection API.
protocol DeviceWearDetectionAPI: DeviceAPI {
    /// Indicates whether wear detection is currently enabled
    var isWearDetectionEnabled: Bool { get }

    /// The current wear status of the device.
    var wearStatus: WearStatus { get }
}

Özellikler

ÖzellikTürAçıklama
isWearDetectionEnabledBool / BOOLTakma algılamanın o anda etkin olup olmadığı.
wearStatusWearStatusGüncel sol/sağ takılma durumu.

Takılma Durumu Değerleri

SwiftObjective-CAnlamı
.unknownAIBudsWearStatusUnknownTakılma durumu bilinmiyor.
.notWearingAIBudsWearStatusNotWearingİki taraf da takılı değil.
.leftWearingAIBudsWearStatusLeftWearingYalnızca sol taraf takılı.
.rightWearingAIBudsWearStatusRightWearingYalnızca sağ taraf takılı.
.bothWearingAIBudsWearStatusBothWearingİki taraf da takılı.

Kullanım Örnekleri

Swift
import AIBuds

guard let device = device as? DeviceWearDetectionAPI else {
    print("Device does not support wear detection")
    return
}

print("Wear detection enabled: \(device.isWearDetectionEnabled)")

switch device.wearStatus {
case .unknown:
    print("Wear state is unknown")
case .notWearing:
    print("Neither side is worn")
case .leftWearing:
    print("Only the left side is worn")
case .rightWearing:
    print("Only the right side is worn")
case .bothWearing:
    print("Both sides are worn")
@unknown default:
    print("Unsupported wear-state value")
}

Hata Yönetimi

Bunlar eşzamanlı durum özellikleridir ve hata döndürmez. Desteklenmeyen protokolü ve .unknown değerini açıkça işleyin. Güncel durum okunduktan sonra değişebilir.

En İyi Uygulamalar

  1. Etkinlik ile Takılma Durumunu Ayırın: false ve .notWearing farklı kavramları tanımlar.
  2. Güncellemeleri İzleyin: Arayüz güncel kalacaksa didWearDetectionEnabledChanged ve didWearStatusChanged yöntemlerini uygulayın.
  3. Arayüzü Ana Thread'de Güncelleyin: Delegate kaynaklı değişiklikleri gerektiğinde ana kuyruğa yönlendirin.

Notlar

  • SDK, getWearDetectionSwitchStatus veya Result tabanlı sorgular yerine özellikler sunar.
  • .unknown, “takılı değil” olarak gösterilmemelidir.