¿Cómo uso Android ProgressBar en modo determinado?
Estoy escribiendo un reproductor multimedia y me gustaría tener una barra de progreso mostrando el progreso de la canción. Encontré la clase de ProgressBar, pero todo lo que puedo conseguir en la pantalla es un icono giratorio circular. Lo que estoy buscando es un bar real.
¿Cómo puedo cambiar el estilo de ProgressBar para ser una barra (no un círculo) y cómo lo usaría con MediaPlayer?
- ¿Cómo puedo crear un reproductor multimedia personalizado para reproducir un códec personalizado en Android?
- Streaming con Android MediaPlayer: captura de errores y almacenamiento en memoria intermedia
- MediaPlayer.setDataSource () y prepare () no funciona - android
- Android Detener música de fondo cuando la tecla Inicio presionada
- MediaButtonIntentReceiver no funciona en Android 4.0+
Gracias
- Obligar a Android a utilizar RTSP / AVP / TCP intercalado
- ¿Cómo se incluyen los encabezados http con MediaPlayer setDataSource?
- ¿Existe una mejor manera de guardar archivos de streaming con MediaPlayer?
- ¿Cómo evitar que Mediaplayer se detenga cuando la pantalla se apaga?
- Contexto dentro de un Runnable
- Compruebe si onStop se llama desde la interacción del usuario, o se atenúa la pantalla
- ANDROID: ¿Hay reproductor multimedia gratuito de terceros para streaming de vídeo MPEG4?
- Android reproducir archivos de recursos desde el almacenamiento interno provoca que MediaPlayer.prepare dé IOException
Utilizar el estilo ?android:attr/progressBarStyleHorizontal
por ejemplo:
<ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyleHorizontal"
Y este es un ejemplo con MediaPlayer:
package com.playerpgbar; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ProgressBar; import android.widget.TextView; public class Player extends Activity implements Runnable, OnClickListener { private TextView status; private ProgressBar progressBar; private Button startMedia; private Button stop; private MediaPlayer mp; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); status = (TextView) findViewById(R.id.status); progressBar = (ProgressBar) findViewById(R.id.progressBar); startMedia = (Button) findViewById(R.id.startMedia); stop = (Button) findViewById(R.id.stop); startMedia.setOnClickListener(this); stop.setOnClickListener(this); } @Override public void onClick(View v) { if (v.equals(startMedia)) { if (mp != null && mp.isPlaying()) return; mp = MediaPlayer.create(Player.this, R.raw.exodus_piranha); mp.start(); status.setText(R.string.PlayingMedia); progressBar.setVisibility(ProgressBar.VISIBLE); progressBar.setProgress(0); progressBar.setMax(mp.getDuration()); new Thread(this).start(); } if (v.equals(stop) && mp!=null) { mp.stop(); mp = null; status.setText(R.string.Stopped); progressBar.setVisibility(ProgressBar.GONE); } } @Override public void run() { int currentPosition= 0; int total = mp.getDuration(); while (mp!=null && currentPosition<total) { try { Thread.sleep(1000); currentPosition= mp.getCurrentPosition(); } catch (InterruptedException e) { return; } catch (Exception e) { return; } progressBar.setProgress(CurrentPosition); } } }
Programáticamente:
progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleHorizontal); progressBar.setIndeterminate(false);
- PointerIndex fuera de rango Multitouch para Android
- IllegalArgumentException: descriptor no administrado utilizando gms.maps.model.Marker.setIcon