Search code examples
androidmedia-playeraudio-streaming

Android MediaPlayer returning error (1, -1004) when trying to play some streams


As it says in the title when trying to stream from some streams like this one:

 http://173.192.137.34:8050

LogCat throws error (1, -1004) which is translated to:

MEDIA_ERROR_IO: File or network related operation errors.

At the same time, this small sample can play many other streams. Is it because of stream type or something else?

package com.example.strm;

import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;

public class EntryActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        try {
            InitializeStream();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void InitializeStream() throws Exception{
        String url = "http://173.192.137.34:8050"; 
        MediaPlayer mediaPlayer = new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mediaPlayer.setDataSource(url);

        mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.start();
            }
        });
        mediaPlayer.prepareAsync();
    }
}

Solution

  • replace

    mediaPlayer.prepareAsync(); 
    

    with

    mediaPlayer.prepare();