Основной Sinch Sample в Swift - но без звука - PullRequest
0 голосов
/ 25 февраля 2019

прежде всего спасибо за чтение моих строк.Для идеи, которую я сейчас пытаюсь погрузиться в мир Swift (у меня только очень базовые знания по программированию - нет знаний по Objective C).

Я попытался настроить следующие строки, чтобы создать очень простое приложение:образец приложения в Sinch.После ввода кода я сообщаю вам о проблемах.

import UIKit
import Sinch


var appKey = "APP_KEY_FROM_MY_ACCOUNT"
var hostname = "clientapi.sinch.com"
var secret = "SECRET_FROM_MY_ACCOUNT"



class CViewController: UIViewController, SINCallClientDelegate, SINCallDelegate, SINClientDelegate  {

    var client: SINClient?
    var call: SINCall?
    var audio: SINAudioController?

    //Text field in the main storyboard
    @IBOutlet weak var userNameSepp: UITextField!



    override func viewDidLoad() {
        super.viewDidLoad()
        self.initSinchClient()
    }

    //initialize and start the client as a fixed "userA"
    func initSinchClient() {
        client = Sinch.client(withApplicationKey: appKey, applicationSecret: secret, environmentHost: hostname, userId: "userB")
        client?.call().delegate = self
        client?.delegate = self
        client?.startListeningOnActiveConnection()
        client?.setSupportCalling(true)
        client?.start()

    }
    //Did the Client start?
    func clientDidStart(_ client: SINClient!) {
        print("Hello")
    }

    //Did the Client fail?
    func clientDidFail(_ client: SINClient!, error: Error!) {
        print("Good Bye")
    }


    //Call Button in the main.storyboard ... if call==nil do the call ... else hangup and set call to nil
    //the background color changes are my "debugging" :D
    @IBAction func callSepp(_ sender: Any) {
        if call == nil{
            call = client?.call()?.callUser(withId: userNameSepp.text)
//for testing I change to callPhoneNumber("+46000000000").
// the phone call progresses (but I hear nothing),
// the phonecall gets established (but I hear nothing)
// and the phonecall gets ended (but of course I hear nothing)
            self.view.backgroundColor = UIColor.red
            call?.delegate = self
            audio = client?.audioController()
        }
        else{
            call?.hangup()
            self.view.backgroundColor = UIColor.blue
            call = nil
        }
    }

    func callDidProgress(_ call: SINCall?) {
        self.view.backgroundColor = UIColor.green
        client?.audioController().startPlayingSoundFile("/LONG_PATH/ringback.wav", loop: true)
                print("Call in Progress")
        }

//I know that this works but I don't hear anything
        func callDidEstablish(_ call: SINCall!) {
            client?.audioController().stopPlayingSoundFile()
            print("Call did Establish")
        }

    func callDidEnd(_ call: SINCall!) {
        print("Call did end")
    }



//    this works fine
    @IBAction func hangUpSepp(_ sender: Any) {
        call?.hangup()
        self.view.backgroundColor = UIColor.red
        call = nil

    }

//    i work in a "sub view controller" - so i navigate here back to the main view controller
    @IBAction func goBackMain(_ sender: Any) {
        call?.hangup()
        dismiss(animated: true, completion: nil)
        client?.stopListeningOnActiveConnection()
        client?.terminateGracefully()
        client = nil
    }

}

Поэтому я могу позвонить на свой личный номер телефона или, если я перейду на callUser, я могу позвонить в другое приложение, но ничего не слышу.Что мне не хватает?Это должно быть связано с SINAudioController и клиентским методом audioController (), но я не знаю, что я делаю неправильно.Спасибо за вашу помощь.

...