See the solution here: http://stackoverflow.com/a/8833346/265167
On Jan 3, 8:06 am, yaqub ahmad <yaqubon...@gmail.com> wrote: > But why it was ok in the previous versions of Android like 1.6? > > On Dec 31 2011, 4:47 pm, sonu thomas <sonup...@gmail.com> wrote: > > > > > > > > > Android does not play all streams. > > > The supported streams and format are given in android > > documentationhttp://developer.android.com/guide/appendix/media-formats.html > > > On Sat, Dec 31, 2011 at 8:31 AM, yaqub ahmad <yaqubon...@gmail.com> wrote: > > > Please see the code i am using for streaming shoutcast stream, it > > > works with one URL but NOT with the other one. > > > > This one works: > > > > Uri myUri = Uri.parse("http://fr3.ah.fm:9000/"); > > > > But not with this one: > > > > Uri myUri = Uri.parse("http://ib3.islambox.tv:8011/"); > > > > SimpleMusicStream.java > > > > import android.app.Activity; > > > import android.media.AudioManager; > > > import android.media.MediaPlayer; > > > import android.net.Uri; > > > import android.os.Bundle; > > > import android.util.Log; > > > import android.view.View; > > > import android.widget.Button; > > > > public class SimpleMusicStream extends Activity implements > > > MediaPlayer.OnCompletionListener, > > > MediaPlayer.OnPreparedListener, > > > MediaPlayer.OnErrorListener, > > > MediaPlayer.OnBufferingUpdateListener { > > > > private String TAG = getClass().getSimpleName(); > > > private MediaPlayer mp = null; > > > > private Button play; > > > private Button pause; > > > private Button stop; > > > > @Override > > > public void onCreate(Bundle icicle) { > > > super.onCreate(icicle); > > > setContentView(R.layout.main); > > > > play = (Button) findViewById(R.id.play); > > > pause = (Button) findViewById(R.id.pause); > > > stop = (Button) findViewById(R.id.stop); > > > > play.setOnClickListener(new View.OnClickListener() { > > > public void onClick(View view) { > > > play(); > > > } > > > }); > > > > pause.setOnClickListener(new View.OnClickListener() { > > > public void onClick(View view) { > > > pause(); > > > } > > > }); > > > > stop.setOnClickListener(new View.OnClickListener() { > > > public void onClick(View view) { > > > stop(); > > > } > > > }); > > > } > > > > private void play() { > > > Uri myUri = Uri.parse("http://fr3.ah.fm:9000/"); > > > try { > > > if (mp == null) { > > > this.mp = new MediaPlayer(); > > > } else { > > > mp.stop(); > > > mp.reset(); > > > } > > > mp.setDataSource(this, myUri); // Go to Initialized state > > > mp.setAudioStreamType(AudioManager.STREAM_MUSIC); > > > mp.setOnPreparedListener(this); > > > mp.setOnBufferingUpdateListener(this); > > > > mp.setOnErrorListener(this); > > > mp.prepareAsync(); > > > > Log.d(TAG, "LoadClip Done"); > > > } catch (Throwable t) { > > > Log.d(TAG, t.toString()); > > > } > > > } > > > > @Override > > > public void onPrepared(MediaPlayer mp) { > > > Log.d(TAG, "Stream is prepared"); > > > mp.start(); > > > } > > > > private void pause() { > > > mp.pause(); > > > } > > > > private void stop() { > > > mp.stop(); > > > > } > > > > @Override > > > public void onDestroy() { > > > super.onDestroy(); > > > stop(); > > > > } > > > > public void onCompletion(MediaPlayer mp) { > > > stop(); > > > } > > > > public boolean onError(MediaPlayer mp, int what, int extra) { > > > StringBuilder sb = new StringBuilder(); > > > sb.append("Media Player Error: "); > > > switch (what) { > > > case MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK: > > > sb.append("Not Valid for Progressive Playback"); > > > break; > > > case MediaPlayer.MEDIA_ERROR_SERVER_DIED: > > > sb.append("Server Died"); > > > break; > > > case MediaPlayer.MEDIA_ERROR_UNKNOWN: > > > sb.append("Unknown"); > > > break; > > > default: > > > sb.append(" Non standard ("); > > > sb.append(what); > > > sb.append(")"); > > > } > > > sb.append(" (" + what + ") "); > > > sb.append(extra); > > > Log.e(TAG, sb.toString()); > > > return true; > > > } > > > > public void onBufferingUpdate(MediaPlayer mp, int percent) { > > > Log.d(TAG, "PlayerService onBufferingUpdate : " + percent + > > > "%"); > > > } > > > > } > > > > main.xml: > > > > <?xml version="1.0" encoding="utf-8"?> > > > <LinearLayout > > > xmlns:android="http://schemas.android.com/apk/res/android" > > > android:layout_width="fill_parent" > > > android:layout_height="fill_parent"> > > > <Button > > > android:text="Play" > > > android:id="@+id/play" > > > android:layout_width="wrap_content" > > > android:layout_height="wrap_content"></Button> > > > <Button > > > android:text="Pause" > > > android:id="@+id/pause" > > > android:layout_width="wrap_content" > > > android:layout_height="wrap_content"></Button> > > > <Button > > > android:text="Stop" > > > android:id="@+id/stop" > > > android:layout_width="wrap_content" > > > android:layout_height="wrap_content"></Button> > > > </LinearLayout> > > > > The Log-cat shows errors: > > > > NuHTTPDataSource(33): Server did not give us the content length! > > > > Media Player Error: Unknown (1) -2147483648 > > > > Can someone help me to fix it? > > > > Thanks > > > > -- > > > You received this message because you are subscribed to the Google > > > Groups "Android Developers" group. > > > To post to this group, send email to android-developers@googlegroups.com > > > To unsubscribe from this group, send email to > > > android-developers+unsubscr...@googlegroups.com > > > For more options, visit this group at > > >http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en