启动Android录像机的步骤如下:
第一步:布局代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button android:id="@+id/btnTakePicture" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="录像" />
<VideoView
android:id="@+id/videoview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
第二步:Java代码
public class MainActivity extends Activity implements OnClickListener {
private VideoView video;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.btnTakePicture);
btn.setOnClickListener(this);
video = (VideoView) findViewById(R.id.videoview);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==1){
if(resultCode==Activity.RESULT_OK){
Uri uri = data.getData();
Cursor cursor = this.getContentResolver().query(uri, null, null, null, null);
if(cursor.moveToFirst()){
String videoPath = cursor.getString(cursor.getColumnIndex("_data"));
video.setVideoURI(Uri.parse(videoPath));
video.setMediaController(new MediaController(this));
video.start();
}
}
}
}
@Override
public void onClick(View v) {
//启动系统录像机
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(intent, 1);
}
}
第三步:需要在AndroidManifest文件中添加权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>