October 23, 2016
Open-sourcing the Audio Player
Have you noticed the audio player? I kept my promise. That was over a year ago. What?! How is this only the second post that I have published since then? Time flies.
So, I want to let musicians and Web Designers/Developers know that I am open-sourcing the audio player. This can be a giant step for musicians because a full-featured audio player is within reach. The main feature of the player is memory, and here is a list of things that my player remembers:
- The selected playlist
- The selected song
- Whether the song is playing or paused
- The time in the song
- The volume of the player
- Whether the player is muted or not
The high level concept here is continued audio playback from page to page. In order to restart the audio player on the next page in the same condition as the previous page, some agreed upon form of communication has to occur between the pages. From what I have seen, this feature is costly because few sites offer it. I can't believe that musicians don't frequently request it because fans want a friendly experience. My audio player bests that challenge. Now I want the community to benefit from it.
Let me be clear what this solution is not. This is not a "restart the audio player from the beginning of the first song in the playlist" solution, regardless of where the player was song- and time-wise on the previous page. This common anti-solution gets singled out because I have seen it a lot. Here are a few other things, quickly. Not a frames solution. Not a single page accordion or tabs solution. Not an AJAX solution. Not a popup or new window solution.
This solution is: data-driven, mobile-friendly, built on the jQuery jPlayer API, written in AngularJS, being made available as an encapsulated module, testable, and open-source.
Before I can release the player, I need to write unit tests and perform a small amount of house keeping on the code. After its release, a blog post announcing its availability and, eventually, documentation will be made available. This is the moment where I stand and say, "Hi, I'm Adam and I'm a Senior Web Developer." You know, dry humor.