Raspi 3A+
Execution: Using the Raspi, I'm searching for bluetooth devices (including their MAC) and list them as output. Then I can choose one of them and my script starts creating 5 new terminals (more didnt quite worked out, because my Raspi nearly crashes all the time simply because it runs at 100% CPU). Each of them starts spamming the device (their mobile phone, which is playing music) with connection requests. The "target" won't see these connection attempts, because their is one step missing to actually create the connection. Still their bluetooth chip gets overloaded and as a result stops playing music.
Connection: Hosting wifi hotspot on android phone, I once connected my raspi manually. Now open SSH Juice (dont know if available for iOS) and just login to your raspi after typing in IP (to see in setting of hotspot) then just type "python3 bt-block.py" and there you go
-----------
You need to have python3 installed and working and you need to be able to see the screen of the raspi (can be a real screen via HDMI or something like SSH Juice)
Both files have to be stored in the same directory. Best would be /home/pi since this one is already defined in the files. If you want to save them somewhere else, just inspect them and change the directory to yours.
Then you start the bt-block.py file. It start searching for publicly visible bluetooth connections and lists them. (If e.g. a smartphone is configured different then normal, its possible that it can not be seen once its connected with a music box, since this is how bluetooth works, I cant provide a solution for this problem)
Next you have to try out all the shown devices.
Sounds like an amazing idea! How is it with the range? Assuming the speaker is about 15-20 meters away, is the rasperry pie strong enough to overload the bluetooth chip or will the signal have to be somehow amplified?