Este ejemplo práctico estará compuesto por un archivo de audio de prueva, dos botones de PLAY y STOP y una SEEKBAR.
Para el XLM, os dejo el código más abajo. Si lo queréis hacer directamente vosotros :
- Crear la carpeta RAW ( http://trucosandroidstudio.blogspot.com.es/2015/03/como-crear-las-carpetas-raw-y-assets.html ), y arrastramos el audio de ejemplo:
- Creamos los botones PLAY y STOP, además de la SEEKBAR:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PLAY"
android:id="@+id/id_play"
android:layout_above="@+id/id_volumen"
android:layout_centerHorizontal="true"
android:layout_marginBottom="42dp"
android:onClick="Play" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="STOP"
android:id="@+id/id_stop"
android:layout_marginTop="38dp"
android:layout_below="@+id/id_volumen"
android:layout_alignLeft="@+id/id_play"
android:layout_alignStart="@+id/id_play"
android:onClick="Stop" />
<SeekBar
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/id_volumen"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:indeterminate="false" />
- Ahora el código JAVA:
Button btn_play; Button btn_stop; SeekBar sk_volumen; AudioManager audioManager; MediaPlayer mediaPlayer; @Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_play=(Button)findViewById(R.id.id_play); btn_play.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mediaPlayer=MediaPlayer.create(getApplication(),R.raw.audio_ejemplo); mediaPlayer.start(); btn_play.setEnabled(false); } }); btn_stop=(Button)findViewById(R.id.id_stop); btn_stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mediaPlayer.stop(); mediaPlayer.release(); btn_play.setEnabled(true); } }); Volumen(); } private void Volumen() { try { sk_volumen = (SeekBar)findViewById(R.id.id_volumen); audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); sk_volumen.setMax(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)); sk_volumen.setProgress(audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)); sk_volumen.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar arg0) { } @Override public void onStartTrackingTouch(SeekBar arg0) { } @Override public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) { audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0); } }); } catch (Exception e) { e.printStackTrace(); } }
Compilar y probad :^]
Gracias, espero que sirva de ayuda, SALUDOS A TOD@S!
Buenas Soy Principiante, Como Puedo introducir Es Codigo En El MainActivity.java?
ResponderEliminar(El nombre de tu clase ) extends ActionBar ( el que tengas tu ) {
EliminarButton btn_play;
Button btn_stop;
SeekBar sk_volumen;
AudioManager audioManager;
MediaPlayer mediaPlayer;
@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // el nombre tu layout. Si no lo has cambiado, será este.
btn_play=(Button)findViewById(R.id.id_play);
btn_play.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
mediaPlayer=MediaPlayer.create(getApplication(),R.raw.audio_ejemplo);
mediaPlayer.start();
btn_play.setEnabled(false);
}
});
btn_stop=(Button)findViewById(R.id.id_stop);
btn_stop.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
mediaPlayer.stop();
mediaPlayer.release();
btn_play.setEnabled(true);
}
});
Volumen();
}
private void Volumen() {
try {
sk_volumen = (SeekBar)findViewById(R.id.id_volumen);
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
sk_volumen.setMax(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC));
sk_volumen.setProgress(audioManager.getStreamVolume(AudioManager.STREAM_MUSIC));
sk_volumen.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override public void onStopTrackingTouch(SeekBar arg0) {
}
@Override public void onStartTrackingTouch(SeekBar arg0) {
}
@Override public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) {
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
}
});
}
catch (Exception e)
{
e.printStackTrace();
}