我需要在 2.x 及更高版本的设备上播放直播。 This声明无法在 Android 2.x 设备上播放实时流。
我在这里有什么选择?我尤其对流式音频感兴趣 - 我应该选择什么格式并结合哪种协议(protocol)?
附言我试过 Vitamio - 不想让客户下载第三方库。
UPD
- 我怎么可以播放这个流“http://188.138.112.71:9018/”?
最佳答案
尝试将此示例用于 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 进行实时音频流传输 从 1.6 sdk 开始,android 中的实时音频流变得如此简单。在 setDataSource() API 中直接传递 url,音频将毫无问题地播放。
完整的代码 fragment 是,
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);
}
}
}
关于android - 使用 Android 2.x 的实时音频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12140801/