Как работать с функцией CXProviderDelegate для голоса и видео в приложении Twilio? - PullRequest
0 голосов
/ 15 февраля 2019

В моем приложении я реализовал как Голос, так и Видео.Как отличить функции CXProviderDelegate для голоса и видео?У меня есть CXProviderDelegate, определенный в AppDelegate.

Нужно ли идентифицировать голос и видео внутри каждого из этих делегатов?

или

Создать два набора делегатов, один для голоса и другой для видео?

Я использую следующий код Голос Twilio https://github.com/twilio/voice-quickstart-swift Видео Twilio https://github.com/twilio/video-quickstart-swift

Ниже приведен пример кода:

Голос

extension AppDelegate: CXProviderDelegate {

    func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) {
        NSLog("provider:performAnswerCallAction:")

        assert(action.callUUID == self.callInvite?.uuid)

        TwilioVoice.isAudioEnabled = false
        self.performAnswerVoiceCall(uuid: action.callUUID) { (success) in
            if (success) {
                action.fulfill()
            } else {
                action.fail()
            }
        }

        action.fulfill()
    }
}

Видео

extension AppDelegate : CXProviderDelegate {
    func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) {
        logMessage(messageText: "provider:performAnswerCallAction:")

        self.audioDevice.isEnabled = false;

        self.audioDevice.block()

        performRoomConnect(uuid: action.callUUID, roomName: self.roomTextField.text) { (success) in
            if (success) {
                action.fulfill(withDateConnected: Date())
            } else {
                action.fail()
            }
        }
    }
}
...