我正在创建一个Android应用,该应用调用内置摄像头来捕获视频,然后将其显示在预览中。
这是代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vid1 = (VideoView) findViewById(R.id.videoView);
btn1 = (Button) findViewById(R.id.button);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i1 = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
if(i1.resolveActivity(getPackageManager()) != null) {
startActivityForResult(i1, 123);
}
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if(requestCode == 123 && resultCode == RESULT_OK) {
Log.d("hi", data.getData().getPath());
Uri myvideolink = data.getData();
vid1.setVideoURI(myvideolink);
}
}
发生了什么事,data.getData()
给了我一个来自外部存储器的路径,而视频保存在内部存储器DCIM文件夹中。也就是说,日志语句
Log.d("hi", data.getData().getPath());
正在给我这个
/hi: /external/video/media/162872
所以