We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Audio start working after around 40 seconds delay
Outgoing calls working normally. For this "flutter_callkit_incoming" not used. So issue is not in the Zoom video SDK
Getting same issue with both Zoom Video SDK and Agora
Android to Android working normally. iOS to Android and iOS to iOS not working
showCallkitIncoming called with configureAudioSession = false and audioSessionActive = false
configureAudioSession = false
audioSessionActive = false
let data = flutter_callkit_incoming.Data( id: id, nameCaller: callerUserUsername, handle: "", type: callType == "VIDEO" ? 1 : 0 ) data.configureAudioSession = false data.audioSessionActive = false data.extra = [ "appointmentType": appointmentType, "appointmentId": appointmentId, ] SwiftFlutterCallkitIncomingPlugin.sharedInstance?.showCallkitIncoming(data, fromPushKit: true)
import UIKit import CallKit import AVFAudio import PushKit import Flutter import flutter_callkit_incoming import WebRTC @main @objc class AppDelegate: FlutterAppDelegate, PKPushRegistryDelegate, CallkitIncomingAppDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { GeneratedPluginRegistrant.register(with: self) //Setup VOIP let mainQueue = DispatchQueue.main let voipRegistry: PKPushRegistry = PKPushRegistry(queue: mainQueue) voipRegistry.delegate = self voipRegistry.desiredPushTypes = [PKPushType.voIP] //Use if using WebRTC RTCAudioSession.sharedInstance().useManualAudio = true RTCAudioSession.sharedInstance().isAudioEnabled = false if #available(iOS 10.0, *) { UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate } return super.application(application, didFinishLaunchingWithOptions: launchOptions) } // Handle updated push credentials func pushRegistry(_ registry: PKPushRegistry, didUpdate credentials: PKPushCredentials, for type: PKPushType) { print(credentials.token) let deviceToken = credentials.token.map { String(format: "%02x", $0) }.joined() print(deviceToken) //Save deviceToken to your server SwiftFlutterCallkitIncomingPlugin.sharedInstance?.setDevicePushTokenVoIP(deviceToken) } func pushRegistry(_ registry: PKPushRegistry, didInvalidatePushTokenFor type: PKPushType) { print("didInvalidatePushTokenFor") SwiftFlutterCallkitIncomingPlugin.sharedInstance?.setDevicePushTokenVoIP("") } // Handle incoming pushes func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType, completion: @escaping () -> Void) { print("didReceiveIncomingPushWith") guard type == .voIP else { return } let id = UUID().uuidString let appointmentType = payload.dictionaryPayload["appointment_type"] as? String ?? "" let appointmentId = payload.dictionaryPayload["appointment_id"] as? String ?? "" let callType = payload.dictionaryPayload["call_type"] as? String ?? "VIDEO" let data = flutter_callkit_incoming.Data( id: id, nameCaller: "User", handle: "", type: callType == "VIDEO" ? 1 : 0 ) data.configureAudioSession = false data.audioSessionActive = false data.extra = [ "appointmentType": appointmentType, "appointmentId": appointmentId, ] SwiftFlutterCallkitIncomingPlugin.sharedInstance?.showCallkitIncoming(data, fromPushKit: true) //Make sure call completion() DispatchQueue.main.asyncAfter(deadline: .now() + 1) { completion() } } // Func Callback Toggle Audio Session func didActivateAudioSession(_ audioSession: AVAudioSession) { //Use if using WebRTC RTCAudioSession.sharedInstance().audioSessionDidActivate(audioSession) RTCAudioSession.sharedInstance().isAudioEnabled = true } // Func Callback Toggle Audio Session func didDeactivateAudioSession(_ audioSession: AVAudioSession) { //Use if using WebRTC RTCAudioSession.sharedInstance().audioSessionDidDeactivate(audioSession) RTCAudioSession.sharedInstance().isAudioEnabled = false } }
CreateAudioUnit use hardware aec = 1 [IOS].CreateAudioUnit g_audioUinits.count = 1 AudioDeviceIOS::SetMuteOutputAudioUnit unmute output AudioDeviceIOS::SetMuteOutputAudioUnit can mute = 1 AURemoteIO.cpp:1091 failed: 561017449 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>) AudioDeviceIOS::SetMuteOutputAudioUnit can mute = 1 AudioDeviceIOS::SetMuteOutputAudioUnit unmute output flutter: ############################## flutter: FlutterCallkitIncoming: Event.actionCallToggleMute flutter: CallEvent( body: {isMuted: true, id: D4E1367F-1ECE-427C-94D1-F4DB319CA5CF}, event: Event.actionCallToggleMute) flutter: ############################## flutter: FlutterCallkitIncoming: Event.actionCallToggleMute flutter: CallEvent( body: {isMuted: false, id: D4E1367F-1ECE-427C-94D1-F4DB319CA5CF}, event: Event.actionCallToggleMute) flutter: ############################## AudioDeviceIOS::SetMuteOutputAudioUnit unmute output AURemoteIO.cpp:1091 failed: 561017449 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>) flutter: ############################## flutter: FlutterCallkitIncoming: Event.actionCallToggleMute flutter: CallEvent( body: {id: D4E1367F-1ECE-427C-94D1-F4DB319CA5CF, isMuted: false}, event: Event.actionCallToggleMute) flutter: ############################## flutter: FlutterCallkitIncoming: Event.actionCallToggleMute flutter: CallEvent( body: {id: D4E1367F-1ECE-427C-94D1-F4DB319CA5CF, isMuted: false}, event: Event.actionCallToggleMute) flutter: ############################## AudioDeviceIOS::SetMuteOutputAudioUnit unmute output AURemoteIO.cpp:1091 failed: 561017449 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>) AudioDeviceIOS::SetMuteOutputAudioUnit unmute output AURemoteIO.cpp:1091 failed: 561017449 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>) AudioDeviceIOS::SetMuteOutputAudioUnit unmute output AURemoteIO.cpp:1091 failed: 561017449 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>) AudioDeviceIOS::SetMuteOutputAudioUnit unmute output AURemoteIO.cpp:1091 failed: 561017449 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>) AudioDeviceIOS::SetMuteOutputAudioUnit unmute output AURemoteIO.cpp:1091 failed: 561017449 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>) AudioDeviceIOS::SetMuteOutputAudioUnit unmute output AURemoteIO.cpp:1091 failed: 561017449 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>) AudioDeviceIOS::SetMuteOutputAudioUnit unmute output AURemoteIO.cpp:1091 failed: 561017449 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>) LOG: onEnd flutter: ############################## flutter: FlutterCallkitIncoming: Event.actionCallEnded flutter: CallEvent( body: {uuid: d4e1367f-1ece-427c-94d1-f4db319ca5cf, duration: 30000, type: 1, normalHandle: 0, extra: {appointmentType: TRAINING, receiverUserId: 836, callerUserId: 203, zoomSessionPassword: IZQIVcDTTh, callType: VIDEO, zoomSessionName: UgTeyJrLmG, appointmentId: 3}, id: d4e1367f-1ece-427c-94d1-f4db319ca5cf, ios: {supportsHolding: true, audioSessionPreferredIOBufferDuration: 0.005, supportsGrouping: true, audioSessionPreferredSampleRate: 44100.0, supportsUngrouping: true, audioSessionActive: false, supportsVideo: true, supportsDTMF: true, audioSessionMode: videoChat, ringtonePath: , handleType: , includesCallsInRecents: true, configureAudioSession: false, iconName: CallKitLogo, maximumCallsPerCallGroup: 1, maximumCallGroups: 2}, handle: , appName: PetDoc, nameCaller: User}, event: Event.actionCallEnded) flutter: ############################## AudioDeviceIOS::SetMuteOutputAudioUnit unmute output AudioDeviceIOS::SetMuteOutputAudioUnit can mute = 1 [IOS].InitAudioUnit kAUVoiceIOSpeechActivityHasStarted notification report}
Expected Behavior:
Actual Behavior:
Environment: • iOS version: 18.2 • Flutter version: 3.27.4 • flutter_callkit_incoming plugin version: 2.5.0 • Device: iPhone 11
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Audio start working after around 40 seconds delay
Outgoing calls working normally. For this "flutter_callkit_incoming" not used. So issue is not in the Zoom video SDK
Getting same issue with both Zoom Video SDK and Agora
Android to Android working normally. iOS to Android and iOS to iOS not working
showCallkitIncoming called with
configureAudioSession = false
andaudioSessionActive = false
Expected Behavior:
Actual Behavior:
Environment:
• iOS version: 18.2
• Flutter version: 3.27.4
• flutter_callkit_incoming plugin version: 2.5.0
• Device: iPhone 11
The text was updated successfully, but these errors were encountered: