iOS Simulator makes headphones enter call mode - ios

Every time I open iOS Simulator my headphones enter call mode. Why MacOS thinks an open Simulator is like a running call?
Headphones are connected wirelessly (Beoplay H9i).

Under Hardware, Audio Input select a different input device (such as built-in microphone).

Related

Selecting USB connected iphone as audio output for Mac

I am trying to build a project that will allow me to use an iphone USB connected to a Mac as an audio output device. There are options to do this wirelessly like "AirFoil" but they all introduce latency during playback.
When connected via USB, the iphone will appear in Audio Midi Setup as a device. Currently it is only selectable as an input device. I believe it can be used as an external microphone or a midi input device. My hope is that through code, the grayed output selection could be overridden. Is this even possible?
Iphone_IO.png
From what I've read the AVAudioEngine might provide a solution to this? I have read through posts about listing all available AudioDevices by ID.
list-all-available-audio-devices
From here would I be able to set the audio output device as the iphone? Or is this something that would require a companion app running on the phone to route the audio as well? Any information would be helpful, thanks!

AVAudioSession does not automatically connect to Bluetooth A2DP audio?

Description:
When I change my AudioSession to .playAndRecord via the following call:
AVAudioSession.sharedInstance().setCategory(.playAndRecord, mode: .default, options: [.defaultToSpeaker, .allowBluetoothA2DP, .mixWithOthers])
From these category options set, I expect that, once I pair bluetooth headphones with my phone, my running app should automatically route audio to my bluetooth A2DP headphones. Instead, my app still chooses to use the phone speaker. There is no indication at all, whether from querying the audio session instance or in the form of a route change notification, that I have bluetooth headphones connected..
Question: How do I ensure the audiosession connects automatically to the bluetooth headphones?
This behavior clearly has nothing to do with an incorrect line of code. As if I had bluetooth headphones paired before the I invoke audio-session category change, my audio will correctly continue to use the bluetooth headphones.
Moreover, if I had instead used the .allowBluetooth category option (for HFP instead of A2DP) during the code invocation, and then paired bluetooth headphones, the headphones connect automatically just fine. Behavior reproduced on: iPhone XR (iOS 13.6.1) with Apple AirPods Pro
iPhone XR (iOS 13.6) with Senso wireless 44.1kHz bluetooth headphones.
Reproduction steps:
For the sake of simplicity and reproducibility for Apple’s engineers, I have reproduced the issue on a lightly modified version of AVEchoTouch Demo Code from WWDC. As this was a demo project published by Apple, it is all correct code. My modified project, called BluetoothIssue, can be found here.
Step 1: Make sure your bluetooth headphones are currently not paired with the iPhone.
Step 2: Launch the “BluetoothIssue App”. When you toggle the “FX Out” or the “Speech Out” toggles, the app should be playing sounds (out of iPhone speaker)
Step 3: Now connect your bluetooth headphones to the phone. Even though the headphones are now connected and paired with phone, the app does not register the connection, and continues play out of the phones built-in speakers.
// Steps 4-5 (Optional): to see that nothing is wrong with the app’s category itself
Step 4: Now force kill the “BluetoothIssue” app, while your headphones are still connected.
Step 5: Now relaunch the “BluetoothIssue” app. The app plays sound correctly out to the bluetooth headphones.
I learned that if i set the mode to VideoRecording, iOS will change the route if I turn the bluetooth on (and I get a route change notification). Without this mode I had to allow both bluetooth, after detect one, change the category again without AllowBluetooth, just A2DP. Weird and slow solution, but worked. Now im just using videorecording mode.

Wireless Debugging on QuickTime Player? (Xcode9)

Has anyone been able to connect wirelessly to QuickTime Player? I'm able to debug wirelessly using Xcode 9, but when I try to connect to QT, the device won't appear on the list...
I've already gone to devices and made sure "Connect via Network" is checked. This works fine if I use the lighting cable.
This is what Apple says on the Xcode 9 page:
Cut the Cord
Choose any of your iOS or tvOS devices on the local network to install, run, and debug your apps – without a USB cord plugged into your Mac. Simply click the ‘Connect via Network’ checkbox the first time you use a new iOS device, and that device will be available over the network from that point forward. Wireless development also works in other apps, including Instruments, Accessibility Inspector, Quicktime Player, and Console.
Any ideas?

can i use smart watch sim through locked iphone (different sim networks)?

If I have a locked sim iPhone connected (Bluetooth pairing) to smart watch (Android) which has another network sim, Can I call or answer the smart watch calls through the iPhone ?
You can use it if you're locked out of your phone but not once you're locked out of the network.

BlueTooth headset not able to use as audio recording capture for iOS and OpenEars

We are building an iOS app that does basic speech recognition. Basically, the app counts the number of words you speak into the iOS device. The app works well when speaking into the standard microphone built into the iPhone. However, when connecting a wireless Bluetooth audio device, we are unable to use that Bluetooth device as a method for recording voice audio. We are using following software and devices:
built for iOS7.0/7.1 with the OpeanEars library for speech recognition
we’re using the ZOMM Wireless Leash (http://www.zomm.com/ | http://www.amazon.com/ZOMM-Wireless-Bluetooth-Speakerphone-Black/dp/B003N3J6BU/ref=sr_1_1?ie=UTF8&qid=1409515088&sr=8-1)
Tried other Bluetooth devices with the same behavior (Bluedio 66i and Bluedio DF200)
Unable to capture audio in default Voice Memo app
as far as we know this is simply using standard BlueTooth protocol, as we understand it, once the bluetooth device is paired it should automatically start accepting it as a device for recording/audio capture
According to OpenEars, the Bluetooth audio devices should be picked up automatically (http://www.politepix.com/forums/topic/enabling-bluetooth-support/). Are we right in assuming this?
We used the VoiceMemo app (the voice recording app that ships with iOS) to test out the bluetooth device as a “control” experiment:
Pair the ZOMM with the iOS device
Open VoiceMemo
Select ZOMM as input device from within the VoiceMemo app
Start recording
Stop recording – no audio was captured
Unfortunately this meant that neither our app nor the standard voice recording app is able to use the bluetooth device as a means for recording audio. Either way it’s hard to rule the device as simply the issue.
We’re curious to understand if this simply a hardware issue (and need a BT-enabled device that supports voice recording to iOS) or if there is something in the code we need to enable in order for the app to start accepting the device as recordable.
Also, more details about the ZOMM headset:
ZOMM specifications:
Bluetooth Wireless Compatibility:
This ZOMM device supports the following Bluetooth wireless protocols and profiles:
• Bluetooth core technology v2.1+EDR
• Hands-Free Profile (HFP) v1.5 headset role
• Headset Profile (HSP) v1.2 headset role
Bluetooth Wireless Interoperability:
This ZOMM device is designed to be interoperate with all Bluetooth wireless products that support compatible profiles and roles
including:
Bluetooth core technology v3.0, v2.1+EDR, v2.0 +EDR, v1.2
Bluetooth master and slave roles
Bluetooth Hands-Free Profile (HFP) v1.5 and prior headset (HS) role
Bluetooth Headset Profile (HS) v1.2 and prior headset (HS) role
Any idea on what we could do to resolve this issue and use Bluetooth together with the OpenEars library on iOS7.1?
Thanks! Philip
testing with Voice Memo is logical, however the app may not be allowing the route the change when BT is connected. A detailed explanation is here. iOS: Using Bluetooth audio output (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput) AudioSession
With OpenEars, I believe you can enable logging to track when the audio route changes. So, you can verify via logging that it is listening to where it should be or .... not listening. I would suggest upgrading as of this post http://www.politepix.com/forums/topic/small-bug-when-running-on-ios-8/ . If you scroll to the bottom you can see BT should work now.
Another test worth running is SaveThatWav within OE. I have not used it, but you should be able to verify what you are listening too.

Resources