这是一个模仿微信拍照的Android开源控件,主要的功能有如下:
-
点击拍照。
-
前后摄像头的切换。
-
长按录视频(视频长度为10秒内)。
-
长按录视频的时候,手指上滑可以放大视频。
-
录制完视频可以浏览并且重复播放。
-
可以设置小视频保存路径。
allprojects {
repositories {
jcenter()
maven {
url 'https://dl.bintray.com/cjt/maven'
}
}
}
compile 'cjt.library.wheel:camera:0.0.7'
compile 'cjt.library.wheel:camera:0.0.3'
<com.cjt2325.cameralibrary.JCameraView
android:id="@+id/cameraview"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:iconMargin="20dp"
app:iconWidth="30dp"
app:iconSrc="@drawable/ic_camera_enhance_black_24dp"/>
| 属性 | 属性说明 |
|---|---|
| iconWidth | 右上角切换摄像头按钮的大小 |
| iconMargin | 右上角切换摄像头按钮到上、右边距 |
| iconSrc | 右上角切换摄像头按钮图片 |
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
mJCameraView = (JCameraView) findViewById(R.id.cameraview);
//设置视频保存路径(如果不设置默认为Environment.getExternalStorageDirectory().getPath())
mJCameraView.setSaveVideoPath(Environment.getExternalStorageDirectory().getPath());
mJCameraView.setCameraViewListener(new JCameraView.CameraViewListener() {
@Override
public void quit() {
//返回按钮的点击时间监听
MainActivity.this.finish();
}
@Override
public void captureSuccess(Bitmap bitmap) {
//获取到拍照成功后返回的Bitmap
}
@Override
public void recordSuccess(String url) {
//获取成功录像后的视频路径
}
});
@Override
protected void onResume() {
super.onResume();
mJCameraView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mJCameraView.onPause();
}