Posts

Post not yet marked as solved
0 Replies
731 Views
If I set the kAUVoiceIOProperty_BypassVoiceProcessing parameter to true on the voice processing audio unit, it appears that the microphone mode setting in the Control Center still takes effect. For example, if the user has selected the voice isolation mode, the audio unit will still function in voice isolation mode. However, on the iPhone 14, the microphone mode is not displayed in the Control Center when kAUVoiceIOProperty_BypassVoiceProcessing is set to true, unlike on other iPhone models such as the iPhone 11 and iPhone 12. As a result, after setting kAUVoiceIOProperty_BypassVoiceProcessing to true, the voice processing unit will continue to use the last selected microphone mode for my app, and it cannot be changed on the iPhone 14. I have the following questions about this: Is it intended that microphone modes in the Control Center take precedence over the kAUVoiceIOProperty_BypassVoiceProcessing setting on the audio unit? My app has a music mode that captures music through mic. Is there a way to avoid all voice processing, even bypass the mic modes in control center? Why is the microphone mode not displayed in the Control Center on the iPhone 14 Pro when kAUVoiceIOProperty_BypassVoiceProcessing is set to true on the voice processing audio unit, while other iPhone models display it?
Posted Last updated
.
Post not yet marked as solved
0 Replies
749 Views
I have an AVAudioEngine setup with VoiceProcessingEnabled that takes the input from mic and plays it on speaker. This works great with Airpods on other iPhone models except iPhone 14 (specifically tested on iPhone 14 Pro). In case of iPhone 14 Pro, there is no audio on the speaker at all. I am linking to a minimal sample app below to reproduce the issue. Please run this sample on iPhone 11 using Airpods Pro you will hear yourself speaking. But when you run the app on iPhone 14 Pro with Airpods Pro connected, you can't hear yourself. Any help will be appreciated. Cheers Sample app: https://www.icloud.com/iclouddrive/07bC_sAZW8MAA2u5lHeHOoFPg#AudioEngineAirpodsTest
Posted Last updated
.
Post not yet marked as solved
4 Replies
1.4k Views
I create a local CFMessagePortRef using CFMessagePortCreateLocal and then use CFMachPortGetPort() to try to get the mach port from it like below: NSString *portIdentifier = [[groupName stringByAppendingString:@"."] stringByAppendingString:sdkId]; NSString *portName = [[portIdentifier stringByAppendingString:@"."] stringByAppendingString:@"mach.port"]; CFMessagePortContext context = {0,(__bridge void *)self,nil,nil,nil}; self.sendPort = CFMessagePortCreateLocal(kCFAllocatorDefault, (__bridge CFStringRef)portName, &callback, &context, false); CFMachPortGetPort(ms->_port); It works till iOS 15 but crashes on iOS 16. Can anyone help? I have defined below definition of __CFMessagePort: struct __CFMessagePort {     CFRuntimeBase _base;     CFLock_t _lock;     CFStringRef _name;     CFMachPortRef _port;        /* immutable; invalidated */     CFMutableDictionaryRef _replies;     int32_t _convCounter;     int32_t _perPID;            /* zero if not per-pid, else pid */     CFMachPortRef _replyPort;        /* only used by remote port; immutable once created; invalidated */     CFRunLoopSourceRef _source;        /* only used by local port; immutable once created; invalidated */     dispatch_source_t _dispatchSource;  /* only used by local port; invalidated */     dispatch_queue_t _dispatchQ;    /* only used by local port */     CFMessagePortInvalidationCallBack _icallout;     CFMessagePortCallBack _callout;    /* only used by local port; immutable */     CFMessagePortCallBackEx _calloutEx;    /* only used by local port; immutable */     CFMessagePortContext _context;    /* not part of remote port; immutable; invalidated */ };
Posted Last updated
.
Post not yet marked as solved
1 Replies
2.4k Views
I created a sample Mac OS app with Notification Service Extension. The Extension is triggered when the push notification arrives and crashes while loading. default 17:05:09.036408+0530 NotificationExtensionTest Hello, I’m launching as euid = 501, uid = 501, (persona not available) error 17:05:09.043664+0530 NotificationExtensionTest Bootstrapping; external subsystem UIKit_PKSubsystem refused setup default 17:05:09.043723+0530 NotificationExtensionTest Bootstrapping; Bootstrap complete. Ready for handshake from host. default 17:05:09.044303+0530 NotificationExtensionTest [u 3F92D0CB-9A8F-4A8B-83C4-00F78A68C24C] [(null)((null))] Prepare received as euid = 501, uid = 501, (persona not available) default 17:05:09.044646+0530 NotificationExtensionTest [u CCC8F807-11C3-4FB0-94DD-408AF5B202FA] [()] Set sole personality. default 17:05:09.045083+0530 usernoted [u 3F92D0CB-9A8F-4A8B-83C4-00F78A68C24C:m (null)] [()] Begin using sent as euid = 501, uid = 501, (persona not available) default 17:05:09.045185+0530 NotificationExtensionTest [u CCC8F807-11C3-4FB0-94DD-408AF5B202FA] [()] Begin using received as euid = 501, uid = 501, (persona not available) default 17:05:09.045453+0530 usernoted [u 3F92D0CB-9A8F-4A8B-83C4-00F78A68C24C:m (null)] [()] plugin loaded and ready for host error 17:05:11.010545+0530 usernoted Extension will be killed due to sluggish startup error 17:05:11.010710+0530 usernoted [u 3F92D0CB-9A8F-4A8B-83C4-00F78A68C24C:m (null)] [()] Connection to plugin interrupted while in use. default 17:05:11.010802+0530 usernoted [u 3F92D0CB-9A8F-4A8B-83C4-00F78A68C24C:m (null)] [()] terminating error 17:05:11.011120+0530 usernoted [u 3F92D0CB-9A8F-4A8B-83C4-00F78A68C24C:m (null)] [()] Connection to plugin invalidated while in use. error 17:05:14.049864+0530 NotificationExtensionTest WARNING: Did not receive handshake message from the host after waiting ~2 seconds. THIS MAY BE A SPURIOUS LAUNCH OF THE PLUGIN due to a message to an XPC endpoint other than the main service endpoint, or the CPU is highly contended and this extension or its host is not getting enough CPU time
Posted Last updated
.