1

所以我试图设置一个活动,用户可以在其中浏览他各自存储中的视频,然后使用 VideoView 播放它。我怎样才能做到这一点?我在下面写了一些代码。

另外我使用的是 Nexus 7,所以它没有 SD 卡。如何制作通用代码以从内部/外部存储器中获取视频?

public class VideoCapture extends Activity {

  private static final int INSERT_ID = Menu.FIRST;

  @Override
  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        System.gc();
        String filename = "/sdcard/Video/sample.mp4";
        //String fileName = "android.resource://" + getPackageName() + "/" + R.raw.sample;
        VideoView videoView1 = (VideoView)findViewById(R.id.videoView1);
        setContentView(videoView1);
        videoView1.setVideoPath(filename);
        videoView1.setMediaController(new MediaController(this));
        videoView1.requestFocus();
        videoView1.start();
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      super.onCreateOptionsMenu(menu);
      menu.add(0, INSERT_ID, 0,"FullScreen");

      return true;
  }

  @Override
  public boolean onMenuItemSelected(int featureId, MenuItem item) {
      switch(item.getItemId()) {
      case INSERT_ID:
          createNote();
      }
      return true;
  }

  private void createNote() {
        requestWindowFeature(Window.FEATURE_NO_TITLE);  
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   
                             WindowManager.LayoutParams.FLAG_FULLSCREEN);  
  }
}
4

2 回答 2

0

没关系,我想我明白了。我只需要将视频URI 设置为我从图库中选择的视频并播放它。如果有人需要帮助设置它,请告诉我。

于 2013-03-05T00:43:55.927 回答
0

为您的 Activity创建ListView该 ListView 还创建适配器类
,然后将以下代码添加到 Activity

private List <String> getSD()
{
    List <String> it = new ArrayList <String>();
    File f = new File (Environment.getExternalStorageDirectory()+File.separator+"Vidoes");
        // to get Internal Storage use File m_applicationDir = new File(this.getFilesDir() + "");
        //File f = new File(m_applicationDir + "/Vidoes");
    File[] files = f.listFiles ();

    for (int i = 0; i <files.length; i++)
    {
        File  file = files[i];
        Log.d("Count",file.getPath());
        it.add (file.getPath());
    }
    return it;
}

将此列表设置为您的列表适配器。并通过点击列表项播放您的视频

于 2013-03-04T11:01:48.130 回答