Play any music from your Android device from this device on a connected bluetooth speaker or headphone!

How It Works

Songbird is an Android application which plays music from your local phone’s audio library. The list of songs on your device can be scrolled through at the bottom of the device through our quick setup of a RecyclerView sorted list. Select the item in which you would like to play. Click the item again to pause or choose another song to play by clicking on another item in the list.

This application also allows the user to play on a connected Bluetooth speaker or headphone set using the A2DP headset protocol. This protocol sends all user audio data in a high quality stream over bluetooth to the paired device. The protocol can handle if the music is in sync with the device. This means that for lost connections, other apps opening up, connecting an audio plug, making a phone call, and other interrupts from the device can all be handled by this device.

A notification handler allows the music to be controlled even when the user is not in the app or if the phone is turned off. This can easily be accessed by swiping the menu bar down or turning the screen off. The notification pop-up can handle pausing, playing, resuming, skipping and rewinding right in the toolbar, an important feature for any music player app.


Goals Achieved

Challenges Encountered


Choose a device to connect to

Connection Success

Swipe down to see notification

The Team

Dylan Vanmali

I am a third year Computer Engineering student studying at the University of California Santa Barbara. If you would like to know more about me, feel free to learn more about me on my LinkedIn Page!

Patrick Vidican

I am a third year Statistics student with a passion for Computer Science. If you would like to know more about me, check out my LinkedIn Page!

Weekly Reports

Week 1: Dylan Vanmali

Week 1: Patrick Vidican

Week 2: Dylan Vanmali

Week 2: Patrick Vidican

Week 3: Dylan Vanmali

Week 3: Patrick Vidican

Kotlin is only officially supported on AndroidStudio 3.0, which Google has not released to stable just yet, so the idea of adding Kotlin to our code will not happen for this project just yet. Instead of a new feature, I discovered a bug with my device once Dylan updated our API to 25. It seems that we have included the entire .idea folder in our .gitignore, and my device requires some of the files in that folder. (modules.xml, I think). In addition, to test on my device, it seems that I have to enable the Android Support plugin as well (otherwise I can’t even get the app to run on my phone, which is connected via USB-C).

Week 4: Dylan Vanmali

Week 4: Patrick Vidican