The following code shows how to Play mp3 file loaded from a URL.
Main layout xml file
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Now Playing..." /> <ImageView android:id="@+id/coverImage" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="centerInside" /> </LinearLayout>
Java code
package com.java2s.myapplication3.app; //from w w w .jav a2s . c o m import android.app.Activity; import android.media.MediaPlayer; import android.net.Uri; import android.os.Bundle; import android.view.MotionEvent; import android.widget.ImageView; import android.widget.MediaController; public class MainActivity extends Activity implements MediaController.MediaPlayerControl, MediaPlayer.OnBufferingUpdateListener { MediaController mController; MediaPlayer mPlayer; ImageView coverImage; int bufferPercent = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); coverImage = (ImageView)findViewById(R.id.coverImage); mController = new MediaController(this); mController.setAnchorView(findViewById(R.id.root)); } @Override public void onResume() { super.onResume(); mPlayer = new MediaPlayer(); try { mPlayer.setDataSource(this, Uri.parse("http://www.your server host.com/your file.mp3")); mPlayer.prepare(); } catch (Exception e) { e.printStackTrace(); } coverImage.setImageResource(R.drawable.ic_launcher); mController.setMediaPlayer(this); mController.setEnabled(true); } @Override public void onPause() { super.onPause(); mPlayer.release(); mPlayer = null; } @Override public boolean onTouchEvent(MotionEvent event) { mController.show(); return super.onTouchEvent(event); } //MediaPlayerControl Methods @Override public int getBufferPercentage() { return bufferPercent; } @Override public int getCurrentPosition() { return mPlayer.getCurrentPosition(); } @Override public int getDuration() { return mPlayer.getDuration(); } @Override public boolean isPlaying() { return mPlayer.isPlaying(); } @Override public void pause() { mPlayer.pause(); } @Override public void seekTo(int pos) { mPlayer.seekTo(pos); } @Override public void start() { mPlayer.start(); } //BufferUpdateListener Methods @Override public void onBufferingUpdate(MediaPlayer mp, int percent) { bufferPercent = percent; } //Android 2.0+ Target Callbacks public boolean canPause() { return true; } public boolean canSeekBackward() { return true; } public boolean canSeekForward() { return true; } @Override public int getAudioSessionId() { return 0; } }