MediaPlayer song = null;
SeekBar seekBar;
Intent intent = getIntent();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_now_playing);
seekBar = (SeekBar) findViewById(R.id.seekBar);
//String selectedSong = getIntent().getExtras().getString("selectSong");
selectSong();
//for pause button
pauseButton();
//for songtile
getSongtitle();
getSongList();
getNextButton();
getPreviousButton();
} // end of onCreate method
/**
* Method for selecting the song
* Moves to startSong method
*/
public void selectSong(){
TextView lyricsBox = (TextView) findViewById(R.id.lyricsBox);
lyricsBox.setMovementMethod(new ScrollingMovementMethod());
String nextPlay = intent.getStringExtra("playSong");
if(song != null){
if(song.isPlaying()){
song.reset();
song = null;
}
}
if (nextPlay.equals("Demons")) {
song = MediaPlayer.create(this, R.raw.demons);
lyricsBox.setText(R.string.demonsLyrics);
} else if (nextPlay.equals("Black Space")) {
song = MediaPlayer.create(this, R.raw.blankspace);
lyricsBox.setText(R.string.blankspaceLyrics);
} else if (nextPlay.equals("Case 420")) {
song = MediaPlayer.create(this, R.raw.case420);
lyricsBox.setText(R.string.case420Lyrics);
}
else if(nextPlay.equals("Jalma")){
song = MediaPlayer.create(this, R.raw.jalma);
lyricsBox.setText(R.string.jalmaLyrics);
}
else if(nextPlay.equals("Parelima")){
song = MediaPlayer.create(this, R.raw.parelima);
lyricsBox.setText(R.string.parelimaLyrics);
}
else if(nextPlay.equals("Mero Balyakal Ko Sathi")){
song = MediaPlayer.create(this, R.raw.balyakalsathi);
lyricsBox.setText(R.string.balyakalSathi);
}
else if(nextPlay.equals("Euta Sathi")){
song = MediaPlayer.create(this, R.raw.eutasathi);
}
else if(nextPlay.equals("Audai Jadai")){
song = MediaPlayer.create(this, R.raw.audaijadai);
}
else if(nextPlay.equals("Cheerleader")){
song = MediaPlayer.create(this, R.raw.cheerleader);
}
// to start playing the song
startButton();
}
//method to make sure seekbar updates till song ends
Runnable run = new Runnable() {
@Override
public void run() {
getseekBar();
}
};
/**
* Method to start song (play the song)
*
*/
public void startButton() {
song.start();
//to update seek bar
getseekBar();
}
/**
* Method to update the seekbar.
* implement touch in seekbar to change song position
*/
public void getseekBar() {
seekBar.setMax(song.getDuration());
seekBar.setProgress(song.getCurrentPosition());
seekBar.postDelayed(run, 1000);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
int seek_to;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
seek_to = progress;
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
song.seekTo(seek_to);
}
});
}
/**
* Method for pause Button
* to pause song once clicked and change button background to play image
* Again play the song if the button is pressed again. and change background back to pause image
*/
public void pauseButton(){
final Button playButton = (Button) findViewById(R.id.playButton);
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (song.isPlaying()) {
playButton.setBackgroundResource(R.drawable.playbutton);
song.pause();
} else {
playButton.setBackgroundResource(R.drawable.pausebutton);
song.start();
}
}
});
}
/**
* Method to get the song title from first java file and display in the title
*/
public void getSongtitle(){
Intent intent = getIntent();
String nextPlay = intent.getStringExtra("playSong");
TextView Songtitle = (TextView) findViewById(R.id.Songtitle);
Songtitle.setText(nextPlay);
}
/**
* Method for song list button
* Goes back to the first java file once the button is cliked,
* displays the song list
*/
public void getSongList(){
Button lyricsButton = (Button) findViewById(R.id.lyricsButton);
lyricsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(NowPlaying.this, MainActivity.class));
}
});
}
/**
* Method for next button
* the song skips every 10 seconds once clicked
*/
public void getNextButton(){
Button nextButton = (Button) findViewById(R.id.nextButton);
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int startTime = song.getCurrentPosition();
int forwardTime = 10000;
startTime += forwardTime;
if(startTime <= song.getDuration()){
song.seekTo(startTime);
}
else{
song.stop();
}
}
});
} // end of getNextButton
/**
* Method for previous button
* the song skips back 10 seconds once clicked
*/
public void getPreviousButton(){
Button previousButton = (Button) findViewById(R.id.previousButton);
previousButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int startTime = song.getCurrentPosition();
int previousTime = 10000;
startTime -= previousTime;
if(startTime >= 0){
song.seekTo(startTime);
}
else{
song.seekTo(0);
song.start();
}
}
});
}
Post a Comment