Android does not play all streams.

The supported streams and format are given in android documentation
http://developer.android.com/guide/appendix/media-formats.html

On Sat, Dec 31, 2011 at 8:31 AM, yaqub ahmad <[email protected]> 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 [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to