【问题标题】:Get motion sensor data while using camera in iOS在 iOS 中使用相机时获取运动传感器数据
【发布时间】:2018-05-28 16:47:55
【问题描述】:

我希望能够记录加速度计和 GPS 的数据,同时在我的应用中使用相机。目标是在拍摄照片的确切时刻获取加速度计和 GPS 数据。我能够访问传感器并让它们连续记录数据,但我不知道如何让它们在捕获图像时停止记录数据。我正在使用 Xcode 9 和 Swift 4。

【问题讨论】:

  • 您好,欢迎来到 Stack Overflow。您能否分享一些代码,显示您的应用程序的当前状态或您迄今为止尝试过的内容?

标签: ios swift camera motion


【解决方案1】:
let cm = CMMotionManager()
let lm = CLLocationManager()

var motionUpdates: CMDeviceMotion?
var locationUpdates: CLLocation?

cm.accelerometerUpdateInterval = 1
cm.startDeviceMotionUpdates(to: OperationQueue.current!) { (data, error) in
    motionUpdates = data
}

lm = CLLocationManager()
lm.delegate = self
lm.stopUpdatingLocation()
lm.desiredAccuracy = kCLLocationAccuracyBest
lm.startUpdatingLocation()


func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
    locationUpdates = manager.location
}

// --------------------------

func stopMotionUpdates() {
    cm.stopDeviceMotionUpdates()
}

func stopLocationUpdates() {
    lm.stopUpdatingLocation()
}

拍摄照片后,您致电stopLocationUpdates()stopMotionUpdates(),您的最新数据将存储在motionUpdateslocationUpdates

【讨论】:

  • 感谢您的回复。当我在应用程序中打开相机时,我可以获得加速更新,但是当我拍摄图像时更新不会停止,它们只会在我单击右下角的使用照片时停止。我从 func imagePickerController 调用 .stopAccelerometerUpdates()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-19
  • 2011-12-27
  • 2011-05-08
相关资源
最近更新 更多