我的Android设备可以直接播放相同的视频MP4和AVI视频文件,但在使用源代码时,在“加载视频”消息的进度对话框后,它给出了一个错误“无法播放此视频”。 。 我正在使用两种方式: 1.第一种方法:
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.parse("http://localhost/h.mp4");
intent.setDataAndType(data, "video/*");
startActivity(intent);
第二种方法:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
任何帮助?
答案 0 :(得分:1)
您可以尝试VideoView
。 (Documentation)
try{
VideoView videoView = (VideoView) findViewById(R.id.VideoView);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
// Set Audio/Video
String strfilename = "http://localhost/h.mp4";
Uri video = Uri.parse(strfilename);
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
}
catch (Exception e) {
//Handle Errors
}
编辑
Android在使用videoView时对视频的编码方式也很挑剔。 (参见以下link的引用)
对于通过HTTP或RTSP流式传输的视频内容,还有其他要求:
•对于3GPP和MPEG-4容器,moov原子必须位于任何mdat之前 原子,但必须接替ftyp原子。
•适用于3GPP,MPEG-4和WebM 容器,音频和视频样本同时对应 偏移量可能不超过500 KB。最小化此音频/视频 漂移,考虑以较小的块大小交错音频和视频。
答案 1 :(得分:0)
在AndroidManifest.xml中,不要忘记添加 -
<uses-permission android:name="android.permission.INTERNET"/>
以便它可以访问http。