Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support browsing via bluetooth (AVRCP) #486

Closed
4 tasks done
bhe69 opened this issue Jun 23, 2023 · 3 comments
Closed
4 tasks done

Support browsing via bluetooth (AVRCP) #486

bhe69 opened this issue Jun 23, 2023 · 3 comments
Assignees
Labels
duplicate This issue or pull request already exists enhancement New feature or request playback Related to music playback

Comments

@bhe69
Copy link

bhe69 commented Jun 23, 2023

Description

Auxio can be remote controlled via bluetooth, e.g. from a car's stereo. The used Exoplayer supports AVRCP (Bluetooth profile) Version 1.6 which introduced file browsing allowing to remotely select songs to play. (While it's called file browsing, which I understand you don't support, it also includes Albums, Artists etc., see below)
Using this function would allow the user to browse the music stored on his/her mobile and add new music to the playlist via bluetooth. Currently bluetooth control only allows skipping the tracks in the playlist set up on the mobile phone.

It is documented here:
https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/MediaMetadata.FolderType.html

FOLDER_TYPE_TITLES, FOLDER_TYPE_ALBUMS, FOLDER_TYPE_ARTISTS, FOLDER_TYPE_GENRES, FOLDER_TYPE_PLAYLISTS, FOLDER_TYPE_YEARS

Problem solved

No response

Other implementations

To my knowledge no other music player supports this yet. Some guy did some unsuccessful research here: https://android.stackexchange.com/questions/218823/why-is-google-play-music-the-only-app-that-produces-a-browse-button-on-my-car/

Benefit

When we're listening to music in the car and controlling Auxio via bluetooth we can only play songs from the current playlist, skipping back and forth, but not selecting new songs from the library. Allowing "File" (actually: Genre, Album, Artist etc.) browsing via Bluetooth would solve this and make Auxio the only Android Music player to support this function..

Duplicates

@bhe69 bhe69 added the enhancement New feature or request label Jun 23, 2023
@OxygenCobalt
Copy link
Owner

OxygenCobalt commented Jun 23, 2023

Duplicate of #37, I believe. What I need to do is implement MediaBrowserService, which should have AVRCP requests forwarded to it. Sadly the playback service lifecycle is borked due to dumb architecture decisions I made early on, which blocks that change at the moment.

@OxygenCobalt OxygenCobalt added duplicate This issue or pull request already exists playback Related to music playback labels Jun 23, 2023
@OxygenCobalt OxygenCobalt changed the title Please support browsing via bluetooth Support browsing via bluetooth (AVRCP) Jun 23, 2023
@bhe69
Copy link
Author

bhe69 commented Jun 24, 2023

Duplicate of #37, I believe. What I need to do is implement MediaBrowserService, which should have AVRCP requests forwarded to it. Sadly the playback service lifecycle is borked due to dumb architecture decisions I made early on, which blocks that change at the moment.

The issue #37 you linked is about Android Auto.

Just to clarify: I'm not talking about Android Auto, an extra app on your mobile which allows you to use and mirror certain apps to the head-unit in your car. I'm talking about the music player app control via bluetooth, which has typically the basic functions next song / previous song / play / pause etc.

@OxygenCobalt
Copy link
Owner

Yes, and Android Auto and AVRCP likely communicate to the same interface (MediaBrowserService). I just need to implement that and AVRCP support should come with it @bhe69.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists enhancement New feature or request playback Related to music playback
Projects
None yet
Development

No branches or pull requests

2 participants