3
我正在开发android应用程序来播放直播视频流。他们在OS 2.2和2.3上工作正常。给我们的新设备是OS 4.0.4,每当我收到错误时;介质错误在onErrorListener()方法中未知。这里是我的代码视频在Android 2.2和2.3上播放,但不在Android 4.0.4上播放
mVideoView = new VideoView(this);// (VideoView)
mVideoView.setId(id_mVideoview);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
mVideoView.setLayoutParams(lp);
mVideoView.setOnKeyListener(this);
mVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
mHandler.removeCallbacksAndMessages(null);
Toast.makeText(
streamplayer_filmstrip.this," Video cannot be played", Toast.LENGTH_LONG)
.show();
try {
Thread.sleep(3000);
Go_Back();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
Log.d("VidError",
"Exception :: " + e.toString() + e.getMessage());
Toast.makeText(streamplayer_filmstrip.this,
"On Error Ex ::" + e.toString(), Toast.LENGTH_LONG)
.show();
e.printStackTrace();
}
return true;
}
});
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer arg0) {
// doneSomething
});
mVideoView.setVideoURI(Uri.parse(getStreamURL("some_url_for_live_stream")));
mVideoView.postInvalidateDelayed(100);
mVideoView.setMediaController(null);
if (mView1.getVisibility() == View.GONE)
mVideoView.requestFocus();
else {
ll_PopUp.bringToFront();
mView1.requestFocus();
}
mVideoView.start();
任何帮助,高度赞赏
谢谢vaibhav。我们正在测试android/google电视盒。这个问题非常令人害怕。在OS 2.2和2.3 rtsp流的框上播放正常,但在stopPlayback()上停止系统。在OS 4.0上,流运行时使用http,而不停止stopPlayback()上的系统。但是他们今天不是在玩。你有什么想法如何处理支持问题? – samreen 2012-08-27 10:45:20
一种方法是使用您自己的编解码器,这是非常昂贵的,当我开发Android流媒体问题在每个设备上都有所不同,从我记得我们使用闪存到最终需要对服务器进行一些更改,除了使应用程序无法使用非闪存设备。 – 2012-08-27 15:22:12
我的确认为它与流的编码有关。如果你尝试链接可用[这里](http://stackoverflow.com/questions/12131408/android-videoview-live-tv-stream-hls),你会看到它顺利运行(至少在我得到的设备上)。 – samreen 2012-08-28 06:11:50