Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++2+++++++++++++++++++++++++++++++++++++++++++
Roll No.: TE-B-2 Name: Shraddha Birajdar
T.E.-CSE Subject: MAD EXP-07,09,10,11 Academic Year: 2018-19
Media Player Activity:- public void
onPermissionDenied(PermissionDeniedResponse
MainAcitvity:- response) {

package com.adityaapp.musicplayer; }

import android.Manifest; @Override


import android.content.Intent; public void
import android.os.Environment; onPermissionRationaleShouldBeShown(PermissionRe
import android.support.v7.app.AppCompatActivity; quest permission, PermissionToken token) {
import android.os.Bundle; token.continuePermissionRequest();
import android.view.View; }
import android.widget.AdapterView; }).check();
import android.widget.ArrayAdapter; }
import android.widget.ListView; public ArrayList<File> findsong(File file)
{
ArrayList<File> arrayList=new ArrayList<File>();
import com.karumi.dexter.Dexter; File[] files=file.listFiles();
import com.karumi.dexter.PermissionToken;
import for(File singleFile:files)
com.karumi.dexter.listener.PermissionDeniedRespons {
e; if(singleFile.isDirectory() &&
import !singleFile.isHidden())
com.karumi.dexter.listener.PermissionGrantedRespon {
se; arrayList.addAll(findsong((singleFile)));
import com.karumi.dexter.listener.PermissionRequest; }
import else
com.karumi.dexter.listener.single.PermissionListener; {
if(singleFile.getName().endsWith(".mp3"))
import java.io.File; {
import java.util.ArrayList; arrayList.add(singleFile);
}
public class MainActivity extends AppCompatActivity {

ListView mysong; }
String[] items; }
@Override return arrayList;
protected void onCreate(Bundle }
savedInstanceState) {
super.onCreate(savedInstanceState); void display()
setContentView(R.layout.activity_main); {
final ArrayList<File>
mysong=(ListView)findViewById(R.id.MySongs); mysongs=findsong(Environment.getExternalStorageDir
runtime(); ectory());
items=new String[mysongs.size()];
} for(int i=0;i<mysongs.size();i++)
public void runtime() {
{
Dexter.withActivity(this) items[i]=mysongs.get(i).getName().toString().replace(".
mp3","");
.withPermission(Manifest.permission.READ_EXTERN }
AL_STORAGE) ArrayAdapter<String> myaddpter=new
.withListener(new PermissionListener() { ArrayAdapter<String>(this,android.R.layout.simple_list
@Override _item_1,items);
public void mysong.setAdapter(myaddpter);
onPermissionGranted(PermissionGrantedResponse mysong.setOnItemClickListener(new
response) { AdapterView.OnItemClickListener() {
display(); @Override
} public void onItemClick(AdapterView<?>
parent, View view, int i, long id) {
@Override
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++2+++++++++++++++++++++++++++++++++++++++++++
Roll No.: TE-B-2 Name: Shraddha Birajdar
T.E.-CSE Subject: MAD EXP-07,09,10,11 Academic Year: 2018-19
String
songName=mysong.getItemAtPosition(i).toString(); songSeekbar=(SeekBar)
startActivity(new findViewById(R.id.seekbar);
Intent(getApplicationContext(),PlayMusic.class)
getSupportActionBar().setTitle("NOW PLAYING");
.putExtra("songs",mysongs).putExtra("songname",son
gName) getSupportActionBar().setDisplayHomeAsUpEnabled(t
.putExtra("pos",i)); rue);

} getSupportActionBar().setDisplayShowHomeEnabled(t
}); rue);
}
}
updateseekBar = new Thread(){
PlayMusicActivity:- @Override
public void run() {
package com.adityaapp.musicplayer;
int totalDuration =
import android.annotation.SuppressLint; myMediaPlayer.getDuration();
import android.content.Intent; int currentPositin = 0;
import android.media.MediaPlayer;
import android.net.Uri; while (currentPositin < totalDuration) {
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; try {
import android.view.MenuItem; sleep(500);
import android.view.View; currentPositin =
import android.widget.Button; myMediaPlayer.getCurrentPosition();
import android.widget.SeekBar;
import android.widget.TextView; songSeekbar.setProgress(currentPositin);

import java.io.File; } catch (InterruptedException e) {


import java.util.ArrayList;
e.printStackTrace();
public class PlayMusic extends AppCompatActivity { }
Button btn_next,btn_previous,btn_pause; }
TextView songTextLabel; }
SeekBar songSeekbar;

static MediaPlayer myMediaPlayer; };


int position;
String sname; if(myMediaPlayer!=null){

ArrayList<File> mysongs; myMediaPlayer.stop();


Thread updateseekBar; myMediaPlayer.release();
}

@Override Intent i=getIntent();


protected void onCreate(Bundle Bundle bundle=i.getExtras();
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_music); mysongs=(ArrayList)
bundle.getParcelableArrayList("songs");
btn_next=(Button)findViewById(R.id.next);
btn_previous=(Button)
findViewById(R.id.previous); sname=mysongs.get(position).getName().toString();
btn_pause=(Button) findViewById(R.id.pause);

String songName=i.getStringExtra("songname");
songTextLabel.setText(songName);
songTextLabel=(TextView)findViewById(R.id.songlabel songTextLabel.setSelected(true);
);
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++2+++++++++++++++++++++++++++++++++++++++++++
Roll No.: TE-B-2 Name: Shraddha Birajdar
T.E.-CSE Subject: MAD EXP-07,09,10,11 Academic Year: 2018-19

position=bundle.getInt("pos",0); btn_pause.setBackgroundResource(R.drawable.pause
);
myMediaPlayer.start();
}
Uri u =
Uri.parse(mysongs.get(position).toString()); }
});
myMediaPlayer=MediaPlayer.create(getApplicationCo btn_next.setOnClickListener(new
ntext(),u); View.OnClickListener() {
@Override
public void onClick(View view) {
myMediaPlayer.start(); myMediaPlayer.stop();
myMediaPlayer.release();
songSeekbar.setMax(myMediaPlayer.getDuration()); position=((position+1)%mysongs.size());
Uri
u=Uri.parse(mysongs.get(position).toString());
updateseekBar.start();
myMediaPlayer=MediaPlayer.create(getApplicationCo
ntext(),u);

songSeekbar.setOnSeekBarChangeListener(new sname=mysongs.get(position).getName().toString();
SeekBar.OnSeekBarChangeListener() { songTextLabel.setText(sname);
@Override myMediaPlayer.start();
public void onProgressChanged(SeekBar }
seekBar, int progress, boolean fromUser) { });

}
btn_previous.setOnClickListener(new
@Override View.OnClickListener() {
public void onStartTrackingTouch(SeekBar @Override
seekBar) { public void onClick(View view) {

} myMediaPlayer.stop();
myMediaPlayer.release();
@Override
public void onStopTrackingTouch(SeekBar position=((position-1)<0)?(mysongs.size()-
seekBar) { 1):(position-1);
Uri
u=Uri.parse(mysongs.get(position).toString());
myMediaPlayer.seekTo(seekBar.getProgress());
myMediaPlayer=MediaPlayer.create(getApplicationCo
} ntext(),u);
});

btn_pause.setOnClickListener(new sname=mysongs.get(position).toString();
View.OnClickListener() {
@Override myMediaPlayer=MediaPlayer.create(getApplicationCo
public void onClick(View view) { ntext(),u);

myMediaPlayer.start();
songSeekbar.setMax(myMediaPlayer.getDuration()); }
if(myMediaPlayer.isPlaying()){ });

btn_pause.setBackgroundResource(R.drawable.play);
myMediaPlayer.pause();
}
else
{ }
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++2+++++++++++++++++++++++++++++++++++++++++++
Roll No.: TE-B-2 Name: Shraddha Birajdar
T.E.-CSE Subject: MAD EXP-07,09,10,11 Academic Year: 2018-19

<TextView
@Override android:id="@+id/songlabel"
public boolean onOptionsItemSelected(MenuItem android:layout_width="match_parent"
item){ android:layout_height="wrap_content"
android:layout_marginTop="-180dp"
android:ellipsize="marquee"
if(item.getItemId()==android.R.id.home){
android:marqueeRepeatLimit="marquee_forever"
onBackPressed(); android:scrollHorizontally="true"
} android:singleLine="true"
return super.onOptionsItemSelected(item); android:text="song"
} android:textAlignment="center"
android:textColor="@color/colorPrimary"
} android:textSize="30sp" />
</LinearLayout>
Xml:-
<LinearLayout
MainActivity:- android:layout_width="match_parent"
android:layout_height="0dp"
<?xml version="1.0" encoding="utf-8"?> android:layout_weight="3">
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/an <RelativeLayout
droid" android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res- android:layout_height="match_parent"
auto" android:padding="5dp">
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" <SeekBar
android:layout_height="match_parent" android:id="@+id/seekbar"
tools:context=".MainActivity"> android:layout_width="match_parent"
android:layout_height="wrap_content"
<ListView android:layout_alignParentBottom="true"
android:id="@+id/MySongs" android:layout_margin="40dp" />
android:layout_width="match_parent"
android:layout_height="match_parent"> <Button
android:id="@+id/pause"
</ListView> android:layout_width="45dp"
android:layout_height="45dp"
android:layout_centerHorizontal="true"
</RelativeLayout> android:layout_marginTop="15dp"
android:background="@drawable/pause" />
PlayMusic:-
<Button
<?xml version="1.0" encoding="utf-8"?> android:id="@+id/next"
<LinearLayout android:layout_width="45dp"
xmlns:android="http://schemas.android.com/apk/res/an android:layout_height="45dp"
droid" android:layout_marginTop="15dp"
xmlns:app="http://schemas.android.com/apk/res- android:layout_toRightOf="@+id/pause"
auto" android:background="@drawable/next" />
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" <Button
android:layout_height="match_parent" android:id="@+id/previous"
android:orientation="vertical" android:layout_width="45dp"
tools:context=".PlayMusic"> android:layout_height="45dp"
android:layout_marginTop="15dp"
<LinearLayout android:layout_toLeftOf="@id/pause"
android:layout_width="match_parent" android:background="@drawable/previous"
android:layout_height="0dp" />
android:layout_weight="7"
android:gravity="center" </RelativeLayout>
android:orientation="vertical"> </LinearLayout>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++2+++++++++++++++++++++++++++++++++++++++++++
Roll No.: TE-B-2 Name: Shraddha Birajdar
T.E.-CSE Subject: MAD EXP-07,09,10,11 Academic Year: 2018-19

</LinearLayout>

You might also like