Hello!I am working on an app that plays audio and accepts voice commands simultaniously. When I play audio through bluetooth in my car, the Audio Session for the app uses the Bluetooth HFP ports. This causes the output audio quality to become very poor. If I switch to AVAudioSessionPlayback, the output is on the A2DP port, which sounds great. Ideally I would like to be able to play ouput through A2DP, and accept input through HFP, but I assume this is a limitation of bluetooth, or everything would already work this way to improve sound quality. For my app it would be acceptable to accept input from the phone's microphone, and play the audio through bluetooth, but this also seems impossible as described here: http://stackoverflow.com/questions/22146406/ios-input-mic-output-bluetooth-device. Any advice on improving playback audio quality when connected to bluetooth while using AVAudioSessionPlayback and record would be greatly appreciated. Has anyone encounted this issue before and had a suitable fix?Thanks!
Post not yet marked as solved
Hello!I have been experiencing a crash inside of the MediaRemote framework that I can not find much information on. This crash is happing many times everyday, but only for users running iOS 11. The exception isFatal Exception: NSInvalidArgumentException
-[NSNull data]: unrecognized selector sent to instance 0x1b233b650
And the full trace of the thread the is crashing is0 CoreFoundation 0x181789d04 __exceptionPreprocess1 libobjc.A.dylib 0x1809d8528 objc_exception_throw2 CoreFoundation 0x1817971c8 __methodDescriptionForSelector3 CoreFoundation 0x18178f6b0 ___forwarding___4 CoreFoundation 0x18167501c _CF_forwarding_prep_05 MediaRemote 0x18cf8fb08 MRContentItemCreateExternalRepresentation6 MediaRemote 0x18cf0a5b4 MRCreateDataFromArray7 MediaRemote 0x18cf0a4d4 MRAddArrayToXPCMessage8 MediaRemote 0x18cee9c04 _MRServiceHandleGetChildContentItemsMessage9 libdispatch.dylib 0x18110d088 _dispatch_call_block_and_release10 libdispatch.dylib 0x18110d048 _dispatch_client_callout11 libdispatch.dylib 0x181116e48 _dispatch_queue_serial_drain$VARIANT$mp12 libdispatch.dylib 0x1811177d8 _dispatch_queue_invoke$VARIANT$mp13 libdispatch.dylib 0x181118200 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp14 libdispatch.dylib 0x1811204a0 _dispatch_workloop_worker_thread$VARIANT$mp15 libsystem_pthread.dylib 0x1813b2fd0 _pthread_wqthread16 libsystem_pthread.dylib 0x1813b2c20 start_wqthreadIt looks like MediaRemote is trying to get underlying data from what it thinks is an array, but in actuallity it is sending the message to an instance of NSNull which does not have a selector called "data". Our app is an audio app which makes use of MPRemoteCommandCenter as well as CarPlay.Has anyone experienced anything similar or have any insights? Any help would be greatly appreciated!