fix call kit UI audio nor working
This commit is contained in:
parent
248a02e1e9
commit
18afb4ae1c
|
@ -58,5 +58,19 @@ extension SessionCallManager: CXProviderDelegate {
|
|||
public func provider(_ provider: CXProvider, timedOutPerforming action: CXAction) {
|
||||
// TODO: handle timeout
|
||||
}
|
||||
|
||||
public func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession) {
|
||||
print("[CallKit] Audio session did activate.")
|
||||
AssertIsOnMainThread()
|
||||
guard let call = self.currentCall else { return }
|
||||
call.webRTCSession.audioSessionDidActivate(audioSession)
|
||||
}
|
||||
|
||||
public func provider(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession) {
|
||||
print("[CallKit] Audio session did deactivate.")
|
||||
AssertIsOnMainThread()
|
||||
guard let call = self.currentCall else { return }
|
||||
call.webRTCSession.audioSessionDidDeactivate(audioSession)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -94,6 +94,8 @@ public final class WebRTCSession : NSObject, RTCPeerConnectionDelegate {
|
|||
public static var current: WebRTCSession?
|
||||
|
||||
public init(for contactSessionID: String, with uuid: String) {
|
||||
RTCAudioSession.sharedInstance().useManualAudio = true
|
||||
RTCAudioSession.sharedInstance().isAudioEnabled = false
|
||||
self.contactSessionID = contactSessionID
|
||||
self.uuid = uuid
|
||||
super.init()
|
||||
|
@ -259,7 +261,7 @@ public final class WebRTCSession : NSObject, RTCPeerConnectionDelegate {
|
|||
print("[Calls] ICE connection state changed to: \(state).")
|
||||
if state == .connected {
|
||||
delegate?.webRTCIsConnected()
|
||||
// configureAudioSession()
|
||||
configureAudioSession()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -297,6 +299,17 @@ extension WebRTCSession {
|
|||
audioSession.unlockForConfiguration()
|
||||
}
|
||||
|
||||
public func audioSessionDidActivate(_ audioSession: AVAudioSession) {
|
||||
RTCAudioSession.sharedInstance().audioSessionDidActivate(audioSession)
|
||||
RTCAudioSession.sharedInstance().isAudioEnabled = true
|
||||
configureAudioSession()
|
||||
}
|
||||
|
||||
public func audioSessionDidDeactivate(_ audioSession: AVAudioSession) {
|
||||
RTCAudioSession.sharedInstance().audioSessionDidDeactivate(audioSession)
|
||||
RTCAudioSession.sharedInstance().isAudioEnabled = false
|
||||
}
|
||||
|
||||
public func mute() {
|
||||
audioTrack.isEnabled = false
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue