You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Android integration: controlling SoundCloud playback from a cross-service playlist app #595
Bowie from your SoundCloud support suggested I open this question here and mentioned that one of your developers has an idea for Android.
I’m planning a mobile app where users connect their own music-service accounts and build a playlist containing tracks from both SoundCloud and other services altogether.
My intended workflow is:
The user presses Play in my app.
The selected track plays through its source service.
When the track finishes, my app starts the next track, which may come from another service.
My app would display the track title, cover art, playback progress, SoundCloud attribution, and a link back to SoundCloud. I’d also like play/pause, next/previous, and seeking controls. Tracks would play sequentially without crossfading, overlap, or modification.
Bowie however confirmed that SoundCloud’s mobile apps don’t expose playback functionality. What supported approach could I use on Android? Would I need to integrate SoundCloud playback directly into my app using the API?
I’d also appreciate guidance on detecting track completion, playback while the screen is locked, and whether a similar approach is available for iOS.
I’m still planning the implementation and will submit the integration to SoundCloud for review before commercial launch.
Our Android app is hooking into the system's MediaSession. Any app can control that to pause/play
We also implemented onPlayFromSearch and onPlayFromMediaId (where the id is a SoundCloud urn)
Hi, thanks that sounds like the approach I was looking for. I’ll
investigate the MediaController sample and the SoundCloud URN.
Does SoundCloud expose a reliable way to distinguish a track finishing
naturally from the user pausing it? I need this to advance my app’s
playlist correctly. Are seeking and receiving track metadata supported as
well?
Thanks for checking with the iOS team.
Martin
reliable way to distinguish a track finishing naturally from the user pausing it?
I think the only way I'd suggest is when onPlaybackStateChanged transitions to STATE_PAUSED query the current playback position from the PlaybackState and compare it against the total duration from the API.
Makes sense, thanks! I'll do this incl. manual pauses to see how I can
reliably distinguish song completion. Please also keep me posted on whether
the iOS team has a similar control option.
Activity
dpreussler commentedon Oct 7, 2026
Hi @ExplodingWater
Our Android app is hooking into the system's MediaSession. Any app can control that to pause/play
We also implemented onPlayFromSearch and onPlayFromMediaId (where the id is a SoundCloud urn)
Check out Google's https://github.com/googlesamples/android-media-controller for more
I'll check back with our iOS team if they have sth similar.
ExplodingWater commentedon Oct 7, 2026
dpreussler commentedon Oct 8, 2026
I think the only way I'd suggest is when onPlaybackStateChanged transitions to STATE_PAUSED query the current playback position from the PlaybackState and compare it against the total duration from the API.
ExplodingWater commentedon Oct 8, 2026