AirPods Pro에서 모션 센서 값을 얻는 방법.

소개.



Spatial Audio라는 AirPods Pro의 공간 오디오 재생 기술을 사용합니까?

원격 근무로 인해 AirPodsPro를 원하는 만큼 착용할 수 없기 때문에 원하는 만큼 사용하지 못했습니다.

그래서 사용하지 않는 AirPodsPro를 사용하기 위해.
나는 그것을 가지고 놀기 위해 모션 센서 값을 얻는 방법에 대한 기사를 쓸 것입니다.

이 기사의 코드는 here 입니다.

요구 사항


  • 엑스코드: 12.0+
  • 아이폰 OS: 14.0+
  • AirPods Pro/Max(필요한 센서가 포함되어 있으므로 작동해야 합니다.)

  • Info.plist의 사용 목적 설명



    CoreMotion을 사용하므로 Info.plist에 추가하십시오.



    구현




    import UIKit
    import CoreMotion
    
    class ViewController: UIViewController, CMHeadphoneMotionManagerDelegate {
    
        //AirPods Pro => APP :)
        let APP = CMHeadphoneMotionManager()
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            APP.delegate = self
    
            guard APP.isDeviceMotionAvailable else { return }
            APP.startDeviceMotionUpdates(to: OperationQueue.current!, withHandler: {[weak self] motion, error  in
                guard let motion = motion, error == nil else { return }
                self?.printData(motion)
            })
        }
    
        func printData(_ data: CMDeviceMotion) {
          print(data.attitude)            
          print(data.gravity)             
          print(data.rotationRate)        
          print(data.userAcceleration)    
          print(data.magneticField)       
          print(data.heading)             
        }
    
    }
    


    위의 코드에서 AirPod가 연결되어 있거나 연결되어 있지 않을 때 일부 처리를 수행해야 합니다.
    실행하면 출력에서 ​​검색된 데이터를 볼 수 있습니다.

    결론



    위의 코드를 GitHub에 푸시했습니다.
    샘플 코드도 추가했습니다.
    필요한 경우 복제하여 사용할 수 있습니다.

    좋은 웹페이지 즐겨찾기