Giter Site home page Giter Site logo

musicplayer's Introduction

MusicPlayer

Apple Podcast app is among the most used app for me. One thing that stands out for the app is the audio play interface. It allows me to pick one of those from the audio track lists and play. Mini play bar hovers beyond any work flow that exists so that you can easily access to what is playing. When you tap on it, it opens up for detailed configuration of what is playing. I wanted to program the same interface with some sample audio files.

On one hand, I wanted to discover nuances of this interface in terms of user experience and implement it on my own. Given the fact that User Interface factors in designing an app, I wanted to tackle architectural issues to study efficient and scalable design so that it is easy to maintain.

Screenshots as in Apr.7.2019

Some representative requirements

(1) make audio track play from the last play time (2) button push, release makes you feel like you are pushing a physical real world button (3) make the thumbnail of the audio track backgrounded by blurred image shadow when playing for visual representation of the play status (4) make view controller transition as smooth and natural as possible (5) remaining play time and progress of the audio track is summarized on the audio track list

Issues that bothered me so far

(1) Button design issue If you create a custom button to accomplish (2) to make the button produce push/release effect, what about the button icon changes? Is it right approach to icon change occurs on its own? Or, let the button owner occur the button icon change?

(2) What is the difference and limits of implementing UIPresentationController and UIViewcontrollerTransitioningDelegate?

(3) How do I create an image-blurred background when CALayer doesn’t support that?

(4) Given an AVAudioPlayer instance is interacted with two different sources(one from the mini play bar, the other from the detailed audio play dashboard) and they must do some common tasks for interaction, how would I design it?

(5) What is the point of making the audio play support key-value observing when AVAudioPlayer doesn’t?

musicplayer's People

Contributors

pearl7721user1 avatar

Watchers

James Cloos avatar  avatar

musicplayer's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.