Как получить события кнопки DJIHandheldControllerHardwareState для DJI Osmo Mobile? - PullRequest
0 голосов
/ 17 октября 2019

Я успешно зарегистрировал контроллер Osmo Mobile в качестве делегата и получаю обновления обновлений состояния оборудования с помощью метода делегата:

func handheldController(_ controller: DJIHandheldController, didUpdate state: DJIHandheldControllerHardwareState)

Однако кнопки записи, затвора и режима всегда находятся в режиме ожидания. Как я могу получить обратные вызовы для событий кнопки?

extension BBDJIOsmoManager: DJIHandheldControllerDelegate {
    func handheldController(_ controller: DJIHandheldController, didUpdate state: DJIHandheldControllerHardwareState) {

        print("did update state")

        if state.modeButton == .singleClick {
            print("mode clicked")
        }

        if state.recordAndShutterButtons == .recordClick {
            print("record clicked")
        }

        if state.recordAndShutterButtons == .shutterClick {
            print("shutter clicked")
        }

        if state.recordAndShutterButtons == .shutterLongClick {
            print("shutter long click")
        }

        if state.zoomSlider == .zoomIn {
            print("zoom in")
        }

        if state.zoomSlider == .zoomOut {
            print("zoom out")
        }
    }
}

Я вижу, как на консоли печатается «Состояние обновлено», но я не получаю журналы, когда нажимается кнопка режима или записи.

Любая помощь, за которую я был бы очень благодарен!

...