使用 mediaplayer 的 Android http 直播流媒体 URL

标签 android http-live-streaming android-mediaplayer

我正在尝试播放一个 url,但它没有播放,我使用的代码如下。logcat 显示 Mediaplayer 错误 (1,-1002),开始状态为 0,错误 (-38, 0) 为什么。 ..?我哪里错了……你能帮我看看怎么玩吗…………

       import java.io.IOException;

       import android.app.Activity;
       import android.media.AudioManager;
       import android.media.MediaPlayer;
         import android.os.Bundle;
      import android.view.View;
      import android.widget.ImageButton;
       import android.widget.TextView;

        public class BacaFatihahActivity extends Activity {



        final String songs_urIs= "http://stream.radiosai.net:8002/";
           // private TextView txt_song_title;
        private MediaPlayer mediaplayer;
        @Override
         public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  ImageButton btn_play = (ImageButton) findViewById(R.id.button_play);
  ImageButton btn_pause = (ImageButton) findViewById(R.id.button_pause);
  ImageButton btn_next = (ImageButton) findViewById(R.id.button_next);
  ImageButton btn_previous = (ImageButton) findViewById(R.id.button_Previous);
  //txt_song_title = (TextView) findViewById(R.id.txt_song_title);

  mediaplayer = new MediaPlayer();
  mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);


  btn_play.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        try {
            mediaplayer.setDataSource(songs_urIs);
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
          try {
            mediaplayer.prepare();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
         mediaplayer.start();   
    }
       });


        }
       }

最佳答案

正确的代码但错误的api级别~

不是每个 api 级别都支持这种播放媒体的方式,http 直播,可能你需要 api 级别 10 或更高

关于使用 mediaplayer 的 Android http 直播流媒体 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8166072/

相关文章:

Java 套接字编程 - 无法在 Android 4.1 中运行?

android - Instagram API - 获取更大的个人资料图片

android - 完成后播放下一首歌曲

android - 带有Android Media Player的DSP(数字声音处理)

java - 如何在屏幕锁定或 sleep 时暂停和播放媒体播放器?

android - 如何通过 Tesseract 在 Android 上使用多语言支持?

android - Android环境下如何从android应用中的apk文件中获取应用或包信息

video - 使用多隔离 ts 创建 m3u8

Android HLS- Streaming 无法获取 fragment

ios - iOS中HLS的视频宽度和高度