基于VCamera,仿微信录制短视频
基于VCamera,Android仿微信录制短视频,如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request。
![](http://upload-images.jianshu.io/upload_images/1157085-da962f7c356aff21.gif?imageMogr2/auto-orient/strip)
使用
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输出到logcatVCamera.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 接收结果
@Overrideprotected 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{@Overrideprotected 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 需要使用这个**/@Overridepublic void onShowDialog(Context context) {}/*** 处理自定义Dialog 的隐藏* @param context 自定义dialog 依赖的Context,注意:自定义dialog的Context 需要使用这个**/@Overridepublic void onHideDialog(Context context) {}
}
配置参数
name | format | description |
---|---|---|
recoderTimeMax | integer | 录制的最长时间 |
recoderTimeMin | integer | 录制的最短时间 |
titleBarCancelTextColor | integer | titleBar取消字体的颜色 |
pressBtnColor | integer | 按住拍字体的颜色 |
pressBtnBg | integer | 圆环的颜色 |
lowMinTimeProgressColor | integer | Progress小于录制最短时间的颜色 |
progressColor | integer | Progress大于录制最短时间的颜色 |
注意:颜色值均为 十六进制值,例如:0xFFFC2828
![](http://upload-images.jianshu.io/upload_images/1157085-9057314d983ae9d4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/1157085-ddb5de44aed33816.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
自定义参数
RecoderAttrs attrs = new RecoderAttrs.Builder().pressBtnColorBg(0xff00ff00).titleBarCancelTextColor(0xff00ff00).pressBtnTextColor(0xff00ff00).build();WechatRecoderActivity.launchActivity(MainActivity.this,attrs,REQ_CODE);
原文链接:http://www.jianshu.com/p/2f6f53190d2f
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
基于VCamera,仿微信录制短视频相关推荐
- Android仿微信录制短视频
WxRecoderVideo 简介 基于VCamera,Android仿微信录制短视频,如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request. 使用 ...
- Android 仿微信录制短视频(不使用 FFmpeg)
转载请标明出处与作者:https://blog.csdn.net/u011133887/article/details/83654724 项目中原本就有录制短视频的功能,使用的是 # qdrzwd/V ...
- android高仿微信拍摄,基于 VCamera,Android 仿微信录制短视频
调用 WechatRecoderActivity WechatRecoderActivity.launchActivity(MainActivity.this,REQ_CODE);复制代码 *在 on ...
- Android 仿秒拍,微信录制短视频
Android 仿秒拍,微信录制短视频 之前看了别人写的代码,但是结果自己运行时出现了这种异常.一下是自己整理后的代码: -1.首先是自定义view :MovieRecorderView.class. ...
- android高仿微信小视频,Android仿微信录制小视频
本文实例为大家分享了Android仿微信录制小视频的具体代码,供大家参考,具体内容如下 先上张图片看看效果 简单叙述下 首先通过Camera类调用系统相机 通过surfaceview绘制出来 通过Me ...
- Android之---高仿微信录制小视频(拍摄和查看)
高仿微信录制小视频(拍摄和查看) Android仿微信小视频录制功能 http://blog.csdn.net/u012227600/article/details/50835633 Android仿 ...
- 上车短视频赛道:基于uniapp框架快速搭建自己的仿抖音短视频APP
在今年也就是第48次发布的<中国互联网络发展状况统计报告>有这样一个数据,21年的上半年以来,我国我国网民规模达10.11亿,其中短视频用户达8.88亿.碎片化的生活场景下,短视频成为人们 ...
- 仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)
效果图如下: 仿微信.短信.来电未接数目.QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现).这种实现方式主要有两种途径:(1)重写View的onDraw().(2)写布 ...
- 微信小程序——仿抖音短视频切换效果
一直以为抖音短视频切换假如用小程序做的话应该是比较简单的,直接用swiper实现就好,但在实际写的过程中才发现没那么简单,要控制的逻辑还是挺多的. 还是先看效果 体验路径 自定义组件系列>> ...
最新文章
- LVS负载均衡群集的了解与基本配置(一)
- 关于SQL Server 数据库归档的一些思考和改进
- 彭文华:详解数字化转型的破局之道(附直播视频)
- 深入浅出计算机组成原理01:计算机概要与技术
- sqlserverv中处理字符串包含、截取
- 第一章 计算机网络参考模型
- EmEditor 常用功能
- android m3u8合成ts,M3U8-TS文件合并为MP4文件
- 现浇板弹性计算还是塑性计算_双向板按弹性方法还是按塑性方法计算
- 麦腾股份正式挂牌新三板,创业孵化市场或将深度洗牌
- MATLAB中调用eemd函数
- 以下不正确的C语言标识符是( ),以下不正确的C语言标识符是 _____。
- GWAS分析之绘制 SNP 密度图
- 全减器---Verilog实现(结构描述,数据流描述,行为描述,层次结构描述)
- 电脑win7蓝屏没有修复计算机,手把手教你win7蓝屏如何修复
- 微信群机器人(仿真企业微信群机器人)
- ppt演示文档如何瘦身
- android 手机资源获取失败,三、解决android手机IMEI获取失败终极方案,自定义IMIE,主板+系统定制商+cup指令集+设备参数+显示屏参数+修订版列表等参数生成IMIEI...
- 登录系统时的手机验证码如何获取的
- fork-join 和begin-end
热门文章
- 【rzxt】有什么好的措施能防止蹭网呢
- AutoCAD二次开发:VS2019+AutoCAD2021+ObjectARX环境搭建
- QQ并没有和我们一起成长
- 亚马逊扫号侵权,卖家要如何自保?如何申诉?
- 一级造价工程师初始注册书面资料有哪些?
- 农历算法类,含节假日、节气、时令等
- matlab矩阵双下标ij,如何使用matlab编写一个16*9矩阵使得a(ij)=1/(i+j-1)?
- itunes ios_与iTunes同步时如何防止iOS应用重新安装
- npoi 执行公式_npoi copyrow 公式
- 景区如何做好旅游策划、旅游规划和旅游营销三项工作?