¿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?

Gracias

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); 
  • ¿Es posible en Android registrar algo reproducido por MediaPlayer?
  • La música se detiene cuando la pantalla gira utilizando MediaPlayer en Android
  • Cómo reproducir un archivo cifrado en Android
  • Android Mediaplayer: problema de setDataSource para el archivo de medios descargado
  • Java.lang.RuntimeException: No se puede inicializar el motor Visualizer, error: -4
  • ¿Cómo actualizar SeekBar de MediaPlayer en funcionamiento?
  • Android Media Grabación utilizando hilos
  • Imagen de botón de reproducción / pausa en la notificación, Android
  • ¿Cuál es la mejor manera de obtener una duración de archivo de audio en Android?
  • Android 4.0.4 MediaPlayer prepara el problema usando urls RTSP
  • Android - MediaPlayer's en Preparado Llamado incluso antes de que el flujo se prepare en Android 4.0+
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.