SlideShare a Scribd company logo
1 of 4
package com.example.lionmusic;
importandroid.media.MediaPlayer;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.app.Activity;
importandroid.view.Menu;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.SeekBar;
importandroid.widget.TextView;
publicclassMainActivityextendsActivity{
private TextViewtvMsg;
private ButtonbtnPlay;
private ButtonbtnPause;
private ButtonbtnStop;
private SeekBarskSong;
private TextViewtvTime;
private MediaPlayermPlayer=null;
private HandlerskHandler=new Handler();
@Override
protectedvoidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//-- begin
mPlayer= MediaPlayer.create(MainActivity.this,R.raw.onnanokootokonoko);
tvMsg = (TextView) findViewById(R.id.tvMsg);
btnPlay= (Button) findViewById(R.id.btnPlay);
btnPause = (Button) findViewById(R.id.btnPause);
btnStop= (Button) findViewById(R.id.btnStop);
skSong= (SeekBar) findViewById(R.id.skSong);
tvTime = (TextView)findViewById(R.id.tvTime);
//----------- buttonPLAY
btnPlay.setOnClickListener(newView.OnClickListener() {
@Override
publicvoidonClick(View view){
if(!mPlayer.isPlaying())
{
mPlayer.start();
tvMsg.setText("PLAY");
}
}
});
//----------- buttonPAUSE
btnPause.setOnClickListener(new View.OnClickListener() {
@Override
publicvoidonClick(Viewview){
if(mPlayer.isPlaying())
{
mPlayer.pause();
tvMsg.setText("PAUSE");
}
}
});
//----------- buttonSTOP
btnStop.setOnClickListener(new View.OnClickListener() {
@Override
publicvoidonClick(Viewview){
if (mPlayer!=null) {
mPlayer.stop();
mPlayer.release();
mPlayer= MediaPlayer.create(MainActivity.this,
R.raw.onnanokootokonoko);
tvMsg.setText(":)");
}
}
});
//--- Se colocael tiempode duracionyse iniciael seekbar
tvTime.setText( getHRM(mPlayer.getDuration()));
skSong.setMax(mPlayer.getDuration());
skSong.setProgress(mPlayer.getCurrentPosition());
//cada segundose actualizael estadodel seekbar
skHandler.postDelayed(updateskSong,1000);
//-- end
}//end:onCreate
//se hace uso de un hilopara actualizarel progresode lareproducción
Runnable updateskSong=new Runnable() {
@Override
publicvoidrun() {
skSong.setProgress( mPlayer.getCurrentPosition() );
tvTime.setText( getHRM(mPlayer.getDuration()) +" - " +
getHRM(mPlayer.getCurrentPosition()));
skHandler.postDelayed(updateskSong,1000);
}
};
/**
* Métodoque convierte milisegundosaHora:Minuto:Segundo
* @param intmilliseconds
* @returnStringHH:MM:SS
* */
private StringgetHRM(intmilliseconds)
{
intseconds= (int) (milliseconds/1000) % 60 ;
intminutes= (int) ((milliseconds/(1000*60)) % 60);
inthours = (int) ((milliseconds/(1000*60*60)) % 24);
return((hours<10)?"0"+hours:hours) +":"+
((minutes<10)?"0"+minutes:minutes) +":" +
((seconds<10)?"0"+seconds:seconds);
}
/**
* Cuandola actividadyano esvisible porel usuario,
* se detiene el reproductor
* */
@Override
protectedvoidonStop() {
super.onStop();
if (mPlayer!=null) {
mPlayer.stop();
mPlayer.release();
mPlayer= MediaPlayer.create(MainActivity.this,R.raw.onnanokootokonoko);
}
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu) {
getMenuInflater().inflate(R.menu.main,menu);
returntrue;
}
}

More Related Content

More from Marthaa Hdz

Maneras de poner un video
Maneras de poner un videoManeras de poner un video
Maneras de poner un videoMarthaa Hdz
 
Operaciones aritmeticas con Spinner
Operaciones aritmeticas con SpinnerOperaciones aritmeticas con Spinner
Operaciones aritmeticas con SpinnerMarthaa Hdz
 
Appoperacionesaritmeticas
AppoperacionesaritmeticasAppoperacionesaritmeticas
AppoperacionesaritmeticasMarthaa Hdz
 
Operaciones aritmeticas con RadioButton
Operaciones aritmeticas con RadioButtonOperaciones aritmeticas con RadioButton
Operaciones aritmeticas con RadioButtonMarthaa Hdz
 
Aplicaciones de eclipse
Aplicaciones de eclipse Aplicaciones de eclipse
Aplicaciones de eclipse Marthaa Hdz
 
Tutorial eclipse2
Tutorial eclipse2Tutorial eclipse2
Tutorial eclipse2Marthaa Hdz
 
Tutorial eclipse
Tutorial eclipseTutorial eclipse
Tutorial eclipseMarthaa Hdz
 
Mi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse TutorialMi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse TutorialMarthaa Hdz
 

More from Marthaa Hdz (20)

Investigacion
InvestigacionInvestigacion
Investigacion
 
Listview
ListviewListview
Listview
 
Maneras de poner un video
Maneras de poner un videoManeras de poner un video
Maneras de poner un video
 
Operaciones aritmeticas con Spinner
Operaciones aritmeticas con SpinnerOperaciones aritmeticas con Spinner
Operaciones aritmeticas con Spinner
 
Appoperacionesaritmeticas
AppoperacionesaritmeticasAppoperacionesaritmeticas
Appoperacionesaritmeticas
 
Operaciones aritmeticas con RadioButton
Operaciones aritmeticas con RadioButtonOperaciones aritmeticas con RadioButton
Operaciones aritmeticas con RadioButton
 
Calcular sueldo
Calcular sueldoCalcular sueldo
Calcular sueldo
 
Aplicaciones de eclipse
Aplicaciones de eclipse Aplicaciones de eclipse
Aplicaciones de eclipse
 
Tutorial eclipse2
Tutorial eclipse2Tutorial eclipse2
Tutorial eclipse2
 
Tutorial eclipse
Tutorial eclipseTutorial eclipse
Tutorial eclipse
 
Mi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse TutorialMi primera-hora-con-eclipse Tutorial
Mi primera-hora-con-eclipse Tutorial
 
5programas
5programas 5programas
5programas
 
Practica10
Practica10Practica10
Practica10
 
Practica9
Practica9Practica9
Practica9
 
Practica8
Practica8Practica8
Practica8
 
Practica7
Practica7Practica7
Practica7
 
Practica6
Practica6Practica6
Practica6
 
Practica 5
Practica 5Practica 5
Practica 5
 
Practica 4
Practica 4 Practica 4
Practica 4
 
Practica3♥☻
Practica3♥☻Practica3♥☻
Practica3♥☻
 

Código

  • 1. package com.example.lionmusic; importandroid.media.MediaPlayer; importandroid.os.Bundle; importandroid.os.Handler; importandroid.app.Activity; importandroid.view.Menu; importandroid.view.View; importandroid.widget.Button; importandroid.widget.SeekBar; importandroid.widget.TextView; publicclassMainActivityextendsActivity{ private TextViewtvMsg; private ButtonbtnPlay; private ButtonbtnPause; private ButtonbtnStop; private SeekBarskSong; private TextViewtvTime; private MediaPlayermPlayer=null; private HandlerskHandler=new Handler(); @Override protectedvoidonCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //-- begin mPlayer= MediaPlayer.create(MainActivity.this,R.raw.onnanokootokonoko); tvMsg = (TextView) findViewById(R.id.tvMsg); btnPlay= (Button) findViewById(R.id.btnPlay); btnPause = (Button) findViewById(R.id.btnPause); btnStop= (Button) findViewById(R.id.btnStop); skSong= (SeekBar) findViewById(R.id.skSong); tvTime = (TextView)findViewById(R.id.tvTime); //----------- buttonPLAY btnPlay.setOnClickListener(newView.OnClickListener() { @Override publicvoidonClick(View view){
  • 2. if(!mPlayer.isPlaying()) { mPlayer.start(); tvMsg.setText("PLAY"); } } }); //----------- buttonPAUSE btnPause.setOnClickListener(new View.OnClickListener() { @Override publicvoidonClick(Viewview){ if(mPlayer.isPlaying()) { mPlayer.pause(); tvMsg.setText("PAUSE"); } } }); //----------- buttonSTOP btnStop.setOnClickListener(new View.OnClickListener() { @Override publicvoidonClick(Viewview){ if (mPlayer!=null) { mPlayer.stop(); mPlayer.release(); mPlayer= MediaPlayer.create(MainActivity.this, R.raw.onnanokootokonoko); tvMsg.setText(":)"); } } }); //--- Se colocael tiempode duracionyse iniciael seekbar tvTime.setText( getHRM(mPlayer.getDuration())); skSong.setMax(mPlayer.getDuration()); skSong.setProgress(mPlayer.getCurrentPosition()); //cada segundose actualizael estadodel seekbar skHandler.postDelayed(updateskSong,1000); //-- end }//end:onCreate
  • 3. //se hace uso de un hilopara actualizarel progresode lareproducción Runnable updateskSong=new Runnable() { @Override publicvoidrun() { skSong.setProgress( mPlayer.getCurrentPosition() ); tvTime.setText( getHRM(mPlayer.getDuration()) +" - " + getHRM(mPlayer.getCurrentPosition())); skHandler.postDelayed(updateskSong,1000); } }; /** * Métodoque convierte milisegundosaHora:Minuto:Segundo * @param intmilliseconds * @returnStringHH:MM:SS * */ private StringgetHRM(intmilliseconds) { intseconds= (int) (milliseconds/1000) % 60 ; intminutes= (int) ((milliseconds/(1000*60)) % 60); inthours = (int) ((milliseconds/(1000*60*60)) % 24); return((hours<10)?"0"+hours:hours) +":"+ ((minutes<10)?"0"+minutes:minutes) +":" + ((seconds<10)?"0"+seconds:seconds); } /** * Cuandola actividadyano esvisible porel usuario, * se detiene el reproductor * */ @Override protectedvoidonStop() { super.onStop(); if (mPlayer!=null) { mPlayer.stop(); mPlayer.release(); mPlayer= MediaPlayer.create(MainActivity.this,R.raw.onnanokootokonoko); } } @Override publicbooleanonCreateOptionsMenu(Menumenu) { getMenuInflater().inflate(R.menu.main,menu);