IOS app - bluetooth audio enabling - ios

I'm working on an IOS 6 app that's currently in development. The app has about 5-6 snippets of audio that play at various stages, currently when the device is paired with some bluetooth speakers (e.g. in a car) the audio does not play through the speakers.
Does anyone know what's involved with making this app work with paired bluetooth speakers? My initial assumption was that it wouldn't need anything extra done, it would just work. I had thought bluetooth paired speakers worked like as if you'd plugged in speakers directly into the device, all audio was routed through the speakers as long as they were paired.
This doesn't appear to be the case though.

I think you have to place an MPVolumeView somewhere in your interface, and enable the showsRouteButton property, then users can use that button to change the audio route to Bluetooth. You can also disable the showsVolumeSlider property if you don't need the volume slider.

Related

How can I disable bluetooth earphones from automatic playing audio as soon as they are connected?

I'm building an audio application for iOS in Swift.
Every time I connect my bluetooth earphones, it automatically starts playing music from my Music (iTunes) app. I'm on iOS 14.4.
Is it possible to disable this behavior programatically? Or this behavior is preempted from my specific bluetooth earphones?
Is it related to AVAudioSession.RouteSharingPolicy?

How to AirPlay audio to multiple AirPlay devices from an iOS device?

Normally only one AirPlay device is selectable in the MPVolumeView when playing audio. However it seems that it is possible to AirPlay to multiple devices since Whaale iOS app does. How might the Whaale app stream to multiple devices?
(I don't care if it uses undocumented APIs, this isn't for App Store purposes.)
This is WHAALE speaking.
There is no API on iOS to do multiroom playback with AirPlay, as you noticed.
We had to implement it from scratch and it took a while.
We have no public API to offer to you.

App Interruption - Siri Fails To Hear Human Voice

In my team's iOS app we have a bug when Siri is invoked while our app is running. Siri pops up and the waveform is shown very briefly and appears not to detect one's voice as the waveform remains very flat. Quickly thereafter it begins to list the things you can ask Siri.
We are using Xcode 6.3, tested on an iPad Mini with iOS 8.3 as well as an iPhone 5 with iOS 8.3.
The app never uses the microphone or queries any of the device audio inputs so I can't see this problem attributed to our app using the microphone directly. It does play looping ambient music and has sound effects.
Is there anything specific we should be calling an an interruption to ensure that Siri will work properly? Has anyone experienced similar issues?
This is most likely not related to your app. The iOS SDK doesn't provide a Siri API that could lead to this kind of events.
You may try to pause any ambient music/sounds effects whenever the app goes in background. (in AppDelegate.m)

Is it possible to play sound from one iOS device to another?

I'd like to somehow play music from one iOS device simultaneously on another, sort of like AirPlay, but from device to device.
It seems that by leveraging existing BT tech I should be able to make this happen, but I just haven't seen any examples nor have I read anything that suggests it's possible.
Check the following threads which might help to answer your question.
iOS Stream Audio from one iOS Device to Another
How do I stream AVAsset audio wirelessly form one iOS device to another?

iOS Simulator Sound

Is there a way to tell the iOS simulator which audio device connected to your computer you want it to use?
The simulator seems to pick whatever audio device is last connected to your machine. I've got a USB audio device (fasttrack pro) I use for my main sound playback and then a USB headset I use for my skype calls. More often than not, the simulator's audio is played on the headset instead of my main speakers.
Ok, I found that both the input and output device much match in system sound settings. Often I have them set to different devices. If they don't match, the simulator seems to default to the last connected audio device selected among the input and output devices.
On a related note: if you're like me and don't like interface sounds and therefore uncheck the preference "Play user interface sound effects" (Sound > Sound Effects), you'll need to check it to get sound out of the simulator.
I doubt the simulator has a setting for that, but you can set the main output device in System Preferences > Sound.
Don't know if this will fix your issue, but it fixed mine.
I wanted the iOS simulator to output sound through a device I had connected and not the internal speakers. When I select the System Prefs Sound and selected my device as output, it would not work.
So, I selected the Sound Effects tab from the Prefs - Sound window and selected my device under Play Sound effects Through and presto it worked.
Don't know the in-outs of iphone sound, but apparently mine were being treated as sound effects.
Hope that helps, if not, I gave it a shot.
Open iOS Simulator, under Hardware toolbar you can control Audio Input, Audio Output, and volume as well!
I think it was added at Xcode 9.2, and that it's available only when running simulator with iOS 11 and above
func vibratePhone() {
if (UIDevice.current.model == "iPhone") {
AudioServicesPlaySystemSound(1352)
} else {
AudioServicesPlayAlertSound(1105)
}
}
1352 Is the system sound ID for Vibration and 1105 is for Tock.caf if the user's device is an iPad or an iPod Tock.caf will be played in place of vibration.
Working on an audio project on my studio and still didn't got it working on MOTU Hardware with everything pointing to the interface! All system sounds route properly except the iOS Sim!
Did this workaround:
iOS Sim/OS X -> SoundFlower virtual I/O -> (Any audio program like Logic/Live) -> MOTU HW
This might give you the freedom to route your audio as you please ;)

Resources