MaterialMusicPlayerView

Android Material view and progress for music player.

Screen (without animation)

Usage

You can define values on you XML file or you can make it programmatically. We have 5 values to customize our player view.

mpv = (MaterialMusicPlayerView) findViewById(R.id.mpv);

buttonColor play/pause button background. progressEmptyColor progress bar color(Left Seconds) progressLoadedColor progress bar color(Passed Seconds) textColor music minutes(Left and passed time) color textSize music minutes(Left and passed time) size

XML Usage

<androgeek.material.library.MaterialMusicPlayerView
        android:id="@+id/mpv"
        android:layout_width="250dp"
        android:layout_height="250dp"
        app:textSize = "14sp"
        app:textColor = "#80FFFFFF"
        app:buttonColor = "#FF0028"
        app:progressLoadedColor = "#00815E"
        app:progressEmptyColor = "#20FFFFFF"
        app:cover = "@drawable/mycover"/>

Java Usage

You can customize UI view programmatically

mpv.setButtonColor(Color.DKGRAY);
mpv.setCoverDrawable(R.drawable.mycover);
mpv.setProgressEmptyColor(Color.GRAY);
mpv.setProgressLoadedColor(Color.BLUE);
mpv.setTimeColor(Color.WHITE);

Methods

You can also load image from URL

mpv.setCoverURL("YOUR_IMAGE_URL");

You need to set music time in seconds otherwise default value 100 seconds will be used.

mpv.setMax(320);

Progress will start from 0. But you can also set progress.

mpv.setProgress(10);

To start playing

mpv.start();

To stop playing

mpv.stop();

Check if it is rotating(Playing)

mpv.isRotating();

When you call start() method, image will start rotating and progress(seconds) will start counting automatically. when you call stop() method, rotating will be stopped, time too. You may want to handle progress yourself. You can disable progress thread.

mpv.setAutoProgress(false);

You can also change velocity of turning album cover.(Default value is 1 which is ideal -my idea-)

mpv.setVelocity(2);

If you have live player then you don't have progress. You can also disable progress view.

mpv.setProgressVisibility(false);

Libraries Used

Picasso by Square

Design Owner

Design is created by [Amin Ghabi] (https://www.facebook.com/amin.duferme)

License

Copyright 2015 Amin Ghabi.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.