ExoPlayer icon indicating copy to clipboard operation
ExoPlayer copied to clipboard

Cross Fade between music tracks within a playlist

Open flmuse opened this issue 3 years ago • 0 comments

Before filing a feature request:

  • Search existing open issues, specifically with the label ‘enhancement’: https://github.com/google/ExoPlayer/labels/enhancement
  • Search existing pull requests: https://github.com/google/ExoPlayer/pulls

When filing a feature request:

Replace the content in the sections below.

[REQUIRED] Use case description

Whilst listening to a playlist using this plugin, moving to the next music track in a playlist sounds really jarring.

This is due to the silence and dip in volume between music tracks because most music files fade-out to silence as they reach their end and fade-in from silence. As a result, there is no smooth transition between music tracks.

Proposed solution

Crossfading between music tracks to make a mixed playlist sound much more seamless and natural-sounding transitions.

Would like to be able to set the duration of crossfades, such as 10 seconds. In this case, a crossfade duration setting of 10 seconds would start to fade-out the current music track and fade in the next track in the playlist. This would result in a continuous mix and flow of music.

Crossfade function would be used when switching between music tracks such as when choosing the previous or next track, stop or start playing a music track.

I have working crossfade code in jquery syntax. If a developer knows both jquery and dart, they may utilize this to convert and implement the new functionailty into this plugin.

Alternatives considered

  1. Transform a successfully working crossfade jquery script into Dart and integrate it into ExoPlayer
  2. Edit all music tracks to remove the silences and fades at the beginning and end.

flmuse avatar Sep 16 '22 12:09 flmuse