7

我需要在 2.x 及更高版本的设备上播放直播。表明不可能在装有 Android 2.x 的设备上播放直播流。

我在这里有什么选择?特别是我对流式音频感兴趣——我应该选择什么格式以及与哪个协议结合使用?

PS 我试过 Vitamio - 不想让客户下载第三方库。

UPD

4

2 回答 2

3

试试这个 RTSP 流的例子(url 应该支持 RTSP)视频更改代码以仅支持音频

public class MultimediaActivity extends Activity {
private static final String RTSP = "rtsp://url here";

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.multimedia);


         //***VideoView to video element inside Multimedia.xml file
  VideoView videoView = (VideoView) findViewById(R.id.video);
  Log.v("Video", "***Video to Play:: " + RTSP);
  MediaController mc = new MediaController(this);
  mc.setAnchorView(videoView);
  Uri video = Uri.parse(RTSP);
  videoView.setMediaController(mc);
  videoView.setVideoURI(video);
  videoView.start();

}
}

编辑:

在 Android 中使用 MediaPlayer 进行实时音频流式传输 android 中的实时音频流式传输,从 1.6 sdk 开始变得如此简单。在 setDataSource() API 中直接传递 url,音频将毫无问题地播放。

完整的代码片段是,

 public class AudioStream extends Activity {

 @Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
String url = "http://www.songblasts.com/songs/hindi/t/three-idiots/01-Aal_Izz_Well-(SongsBlasts.Com).mp3";
 MediaPlayer mp = new MediaPlayer();
try {
 mp.setDataSource(url);
 mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
 mp.prepare();
 mp.start();
} catch (Exception e) {
 Log.i("Exception", "Exception in streaming mediaplayer e = " + e);
}
}
}
于 2012-08-27T11:55:57.037 回答
0

您可以使用 Android 原生媒体播放器支持的 RTSP 协议。

                    player = new MediaPlayer();
                    player.reset();
                    player.setDataSource(intent.getStringExtra("Path"));
                    player.prepare();
                    player.setOnPreparedListener(new OnPreparedListener() {

                        public void onPrepared(MediaPlayer mp) {
                            player.start();
                        }
                    });

路径将是您的 rtsp 音频流 url。

于 2012-08-27T13:24:49.460 回答