Android 视频流
下面是我的流媒体视频代码:Android 视频流,android,android-videoview,Android,Android Videoview,下面是我的流媒体视频代码: VideoView vv = (VideoView)this.findViewById(R.id.screen_video); Uri uri = Uri.parse(URL); vv.setVideoURI(uri); vv.start(); 它起作用了。 但是如果android手机或pad不支持URL视频格式。 它显示一个对话框,而不显示屏幕。 但它仍然在黑屏上播放。 我想获取错误消息,并作为异常访问。 但我不知道怎么得到它 另一个问题是,低速wifi可能导致流
VideoView vv = (VideoView)this.findViewById(R.id.screen_video);
Uri uri = Uri.parse(URL);
vv.setVideoURI(uri);
vv.start();
它起作用了。
但是如果android手机或pad不支持URL视频格式。
它显示一个对话框,而不显示屏幕。
但它仍然在黑屏上播放。
我想获取错误消息,并作为异常访问。
但我不知道怎么得到它
另一个问题是,低速wifi可能导致流媒体崩溃。
如何检查低速wifi时是否等待?您不应该立即播放视频。将准备好的侦听器添加到视频视图,然后开始播放视频。使用MediaPlayer,您可以跟踪缓冲状态,并在视频尚未下载时停止视频一段时间。请看一下指南。它取决于您开发应用程序的Android版本。某些设备不支持运行.mp4文件。请浏览以获取更多信息。检查是否可以播放任何.3gp文件。试试这段代码,它可以工作
public class PlayVideo extends Activity
{
private String videoPath ="url";
private static ProgressDialog progressDialog;
String videourl;
VideoView videoView ;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.play_video);
videoView = (VideoView) findViewById(R.id.videoView);
progressDialog = ProgressDialog.show(PlayVideo.this, "", "Buffering video...", true);
progressDialog.setCancelable(true);
PlayVideo();
}
private void PlayVideo()
{
try
{
getWindow().setFormat(PixelFormat.TRANSLUCENT);
MediaController mediaController = new MediaController(PlayVideo.this);
mediaController.setAnchorView(videoView);
Uri video = Uri.parse(videoPath );
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.requestFocus();
videoView.setOnPreparedListener(new OnPreparedListener()
{
public void onPrepared(MediaPlayer mp)
{
progressDialog.dismiss();
videoView.start();
}
});
}
catch(Exception e)
{
progressDialog.dismiss();
System.out.println("Video Play Error :"+e.toString());
finish();
}
}
}
尝试避免那个错误。或者在你的街区里放上试捕器。 VideoView只能流式播放3gp视频,但我建议您使用此代码流式播放视频
public void onCreate(Bundle savedInstanceState){
setContentView(R.layout.main);
String videourl = "http://something.com/blah.mp4";
Uri uri = Uri.parse(videourl);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setDataAndType(uri, "video/mp4");
startActivity(intent);
}
或者。当我使用videoview时,它在logcat中显示03-19 15:02:48.314:V/videoview(9255):OnBufferingUpdateListener:CurrentBufferPercentage=100。如何获取值?这就是我建议您使用MediaPlayer的原因,您可以在BufferingUpdateListener上注册它。但我认为使用videoView.getBufferPercentage()可以从视频视图中获得相同的值!另一种解决方案是注册监听器
setOneRorListener
(在VideoView对象上),它允许您实现回调MediaPlayer.OneRorListener
,在播放或设置过程中发生错误时将调用该回调。