无法使用Android使用Android默认视频播放器播放视频

时间:2013-08-26 18:15:01

标签: java android android-intent android-videoview

我的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);
  1. 第二种方法:

        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    
  2. 任何帮助?

2 个答案:

答案 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。