Stream audio from your Android device to a Scream receiver.
ScreamFromAndroid turns your phone into a network audio source which sends your audio to Scream audio receivers on your local network. I wrote this for my own use so it is not tested except for my current Android.
- 📡 Stream Android audio to a Scream receiver on the network (IP or broadcast)
- 🎧 Choose mono or stereo audio to optimize bandwidth
- 🔇 Optionally mute local device playback so sound only plays on the receiver
- 🔊 Adjust streaming volume using Android’s volume bar and buttons
- 📞 Audio from your calls are not streamed
- 🛡️ Your data is yours, no ads, no external monitoring, no measurements
- 🤝 Open source LGPL license you can modify the code for your fittings
My girlfriend was playing a part on the piano. I wanted to let her hear the original. Usually I did streaming with bluetooth which started stuttering every time something was between me and the receiver.
I recently setup Scream from my desktop. Maybe there would also be an Android client.
I couldn't find an existing Android Scream Client and asked AI (sorry). Which made a non-working mess. But it was a good start and the protocol is not that complex (for humans).
So I fixed the code and had a POC. In the meantime I made a few improvements and here is the result.
- Android 10+
- Permissions
- RECORD_AUDIO for recording media session
- INTERNET for casting over the network
- FOREGROUND_SERVICE to run in the background
- POST_NOTIFICATIONS to run in the background and make it visible that you are streaming
- Scream receiver
- Setup your Scream receiver
- Download the APK from the Releases
- Grant permissions before streaming
- Configure app, default values are predefined so it should be a click and go for a default setup
- Click "Start streaming"
- When asked to share your screen pick "Share one app" or "Share entire screen". It does not seem to matter which app, audio is always streamed.
- To stop streaming swipe the notification away, or open the app or tap the notification and click "Stop streaming"
Source: [https://github.com/duncanthrax/scream]
- Scream, Android receiver
- Scream *nix receiver for Redhat, CentOS, Debian, Ubuntu, etc. (Alsa/PulseAudio/Jack)
- Windows: ScreamReader by @MrShoenel, Windows receiver included in the installer package as of version 1.2
- Cornrow Linux audio sink daemon
- STM32F429 Scream receiver Embedded stream receiver. You might need to change the source code so it accepts 44100Hz audio
- ESP32 Scream receiver Embedded stream receiver. You might need to change the source code so it accepts 44100Hz audio
I don't hear sound
- Make sure your Scream receiver is running
- Ensure there is an app on your phone which makes sound
- Try to directly stream to the IP of the receiver
- Check the port of the receiver (default is 4010)
- Ensure your Android device and Scream receiver are on the same local network
- Ensure your router is not blocking internal traffic
- Ensure casting volume is set after you start streaming
I keep ending up in my App info
- Go to permissions and grant all the permissions
The sound stutters
- On the starting screen select "Mono"
- Try to directly stream to the device
- Stand somewhere where your Android phone has good wifi reception
- Select a different radio channel on your modem
- Modify the source code and try different package size
- Author: Gerben Versluis
- Distributed under the terms specified in the repository LICENSE.

