Audio over Bluetooth! My setup was a Pi2 running Raspbian stretch with Pixel. My Super-Sweet-Pro-Audio rig was a pair of old desktop stereo speakers via a 3.5mm jack, this looks like it mirrors your setup. I'm using a 2.1 Bluetooth USB adapter but anything should do, the onboard module on the Pi3 should work nicely. I also have docker installed, that's the only other thing I've installed, I doubt it brings anything to this particular party though.
Get the system up-to-date.
sudo apt-get update
sudo apt-get upgrade
Install bluez and the pulse audio module.
sudo apt-get install -y bluez pulseaudio-module-bluetooth
sudo systemctl restart bluetooth
Enable Bluetooth on startup, for some reason this was a bit sketchy on my Pi and after reboots it took a while to bring itself back up (2 minutes being a while). I didn't investigate, there was nothing in the log so maybe its set for a delay. Anyway, make sure its enabled via
sudo systemctl enable bluetooth
Setup Bluetooth and pair your Phone - I'm using a Nexus 5X, I don't know what iOS does.
sudo bluetoothctl
to get into the Bluetooth CLI, then type these commands in (KeyboardOnly is case sensitive!)
agent KeyboardOnly
default-agent
power on
scan on
They set the authentication agent to be the keyboard, powers up the device and starts it scanning for people to talk to - with your phone as discoverable you should see it appear in the console, then connect to it via
connect <mac address> (you can press tab and it should fill it in!)
You'll have to enter the code from your phone into the console, or, ok the dialog (if using the GUI).
You should now be paired - this step is woolly, I don't know how iPhones do things on Bluetooth so you might have to play until its paired. There are other Bluetooth options for pairing but that code one seems fair enough. You can always go back and redo that step with a more fitting implementation later on.
Exit from bluetoothd by typing exit
Next its fighting with pulse audio...Unmute it
pactl set-sink-mute 0 0
then set the volume (0 = 0%, 65536 = 100%)
pactl set-sink-volume 0 32768
I'm setting it for 50%, you should be able to control it via the UI though.
Now you should be able to fire up whatever you want on your phone and it'll play over Bluetooth. I had issues where pulseaudio (via pactl) needed muting and unmuting a few times before it would co-operate.
If you aren't using a desktop (Raspbian Lite / Arch) then you probably won't have PulseAudio running by default and you'll have to do some extra work. I've got this working too but it's a little more involved - I can update this with those steps if that's what you are after.
There are errors in the Bluetooth log sudo journalctl -u bluetooth
will probably show them. The Sap one can be made to go away if you really want (you tell bluetoothd to not load that). I've never looked at the RFCOMM voice gateway one....
pactl set-sink-mute 0 0
might be the command. This is on the basis you are connecting without error in the first place.