Android仿微信录制短视频
2016-09-28 23:11
417 查看
WxRecoderVideo
简介
基于VCamera,Android仿微信录制短视频,如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request。使用
1) 在build.gradle,添加wechatRecoderVideoLibrary module 。配置manifest
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
配置拍摄视频缓存路径
// 设置拍摄视频缓存路径 File dcim = Environment .getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); if (DeviceUtils.isZte()) { if (dcim.exists()) { VCamera.setVideoCachePath(dcim + "/recoder/"); } else { VCamera.setVideoCachePath(dcim.getPath().replace("/sdcard/", "/sdcard-ext/") + "/recoder/"); } } else { VCamera.setVideoCachePath(dcim + "/WeChatJuns/"); } // VCamera.setVideoCachePath(FileUtils.getRecorderPath()); // 开启log输出,ffmpeg输出到logcat VCamera.setDebugMode(true); // 初始化拍摄SDK,必须 VCamera.initialize(this);
注册activity
<application ... <activity android:name="com.maiml.wechatrecodervideolibrary.recoder.WechatRecoderActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:hardwareAccelerated="true" android:launchMode="singleTop" android:screenOrientation="portrait" android:theme="@style/CameraTheme" /> </application
调用 WechatRecoderActivity
WechatRecoderActivity.launchActivity(MainActivity.this,REQ_CODE);
*在 onActivityResult Method 接收结果
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(RESULT_OK == resultCode){ if(requestCode == REQ_CODE){ String videoPath = data.getStringExtra(WechatRecoderActivity.VIDEO_PATH); play(videoPath); } } }
参数配置
自定义dialog
拍摄完成需要对视频进行转码,转码过程中弹出的dialog。让你的Activity implements OnDialogListener 例如:
public class MainActivity extends AppCompatActivity implements OnDialogListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WechatRecoderActivity.launchActivity(MainActivity.this,REQ_CODE); } /** * 处理自定义Dialog 的显示 * @param context 自定义dialog 依赖的Context,注意:自定义dialog的Context 需要使用这个 * */ @Override public void onShowDialog(Context context) { } /** * 处理自定义Dialog 的隐藏 * @param context 自定义dialog 依赖的Context,注意:自定义dialog的Context 需要使用这个 * */ @Override public void onHideDialog(Context context) { } }
配置参数
name | format | description |
---|---|---|
recoderTimeMax | integer | 录制的最长时间 |
recoderTimeMin | integer | 录制的最短时间 |
titleBarCancelTextColor | integer | titleBar取消字体的颜色 |
pressBtnColor | integer | 按住拍字体的颜色 |
pressBtnBg | integer | 圆环的颜色 |
lowMinTimeProgressColor | integer | Progress小于录制最短时间的颜色 |
progressColor | integer | Progress大于录制最短时间的颜色 |
自定义参数
RecoderAttrs attrs = new RecoderAttrs.Builder() .pressBtnColorBg(0xff00ff00) .titleBarCancelTextColor(0xff00ff00) .pressBtnTextColor(0xff00ff00) .build(); WechatRecoderActivity.launchActivity(MainActivity.this,attrs,REQ_CODE);
Github
Thanks
VCamera相关文章推荐
- Android 仿秒拍,微信录制短视频
- Android录制视频,仿微信小视频录制(二)
- Android仿微信小视频录制功能
- Android自定义view之仿微信录制视频按钮
- Android仿微信录制小视频
- Android录制微信小视频
- Android录制小视频(仿微信小视频)
- Android 仿微信小视频录制
- android仿微信录制短视频并播放
- Android录制视频,仿微信小视频录制(一)
- Android 微信小视频录制功能实现详细介绍
- Android之---高仿微信录制小视频(拍摄和查看)
- Android 自定义View---仿微信视频录制按钮 长按录制 点击拍照
- Android 微信小视频录制功能实现
- Android仿微信小视频录制功能
- Android仿微信小视频录制功能(二)
- Android实现微信录制小视频的计时动画
- android仿微信录制短视频,拍照,自动聚焦,手动聚焦,滑动缩放功能(Camera+TextureView+rxjava实现)
- android仿微信录制短视频并播放视频
- Android开发之视频录制