そこで、ユーザーがそれぞれのストレージからビデオを参照し、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);
}
}