基于VCamera,Android仿微信录制短视频,如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request。

recoder4.gif

使用

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

img_des1.png

img_des2.png

自定义参数

     RecoderAttrs attrs = new RecoderAttrs.Builder().pressBtnColorBg(0xff00ff00).titleBarCancelTextColor(0xff00ff00).pressBtnTextColor(0xff00ff00).build();WechatRecoderActivity.launchActivity(MainActivity.this,attrs,REQ_CODE);
文/maimingliang(简书作者)
原文链接:http://www.jianshu.com/p/2f6f53190d2f
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

基于VCamera,仿微信录制短视频相关推荐

  1. Android仿微信录制短视频

    WxRecoderVideo 简介 基于VCamera,Android仿微信录制短视频,如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request. 使用 ...

  2. Android 仿微信录制短视频(不使用 FFmpeg)

    转载请标明出处与作者:https://blog.csdn.net/u011133887/article/details/83654724 项目中原本就有录制短视频的功能,使用的是 # qdrzwd/V ...

  3. android高仿微信拍摄,基于 VCamera,Android 仿微信录制短视频

    调用 WechatRecoderActivity WechatRecoderActivity.launchActivity(MainActivity.this,REQ_CODE);复制代码 *在 on ...

  4. Android 仿秒拍,微信录制短视频

    Android 仿秒拍,微信录制短视频 之前看了别人写的代码,但是结果自己运行时出现了这种异常.一下是自己整理后的代码: -1.首先是自定义view :MovieRecorderView.class. ...

  5. android高仿微信小视频,Android仿微信录制小视频

    本文实例为大家分享了Android仿微信录制小视频的具体代码,供大家参考,具体内容如下 先上张图片看看效果 简单叙述下 首先通过Camera类调用系统相机 通过surfaceview绘制出来 通过Me ...

  6. Android之---高仿微信录制小视频(拍摄和查看)

    高仿微信录制小视频(拍摄和查看) Android仿微信小视频录制功能 http://blog.csdn.net/u012227600/article/details/50835633 Android仿 ...

  7. 上车短视频赛道:基于uniapp框架快速搭建自己的仿抖音短视频APP

    在今年也就是第48次发布的<中国互联网络发展状况统计报告>有这样一个数据,21年的上半年以来,我国我国网民规模达10.11亿,其中短视频用户达8.88亿.碎片化的生活场景下,短视频成为人们 ...

  8. 仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)

    效果图如下: 仿微信.短信.来电未接数目.QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现).这种实现方式主要有两种途径:(1)重写View的onDraw().(2)写布 ...

  9. 微信小程序——仿抖音短视频切换效果

    一直以为抖音短视频切换假如用小程序做的话应该是比较简单的,直接用swiper实现就好,但在实际写的过程中才发现没那么简单,要控制的逻辑还是挺多的. 还是先看效果 体验路径 自定义组件系列>> ...

最新文章

  1. 镜像和linux关系,Docker中容器和镜像的关系【通俗易懂】
  2. beta阶段140字评论
  3. 在计算机桌面怎么找打印机,win10系统电脑打印机图标找回来的教程
  4. Python 学习笔记(三)Function
  5. Linux下判断cpu物理个数、几核
  6. asp 连接mysql_如何在ASP中连接MySQL数据库
  7. 华为云mysql端口号_华为云云耀服务器远程连接mysql,报错10038端口配置问题。
  8. css tab 后竖线_H5网页布局+css代码美化,零基础参考
  9. JS_prototype
  10. 《PHP精粹:编写高效PHP代码》——2.7节设计数据库
  11. ueditor插入自定义内容和样式
  12. 图像语义分割(1)-FCN:用于语义分割的全卷积神经网络
  13. SystemView 应用笔记
  14. 使用命令代码清除系统垃圾文件
  15. 算法注册机编写扫盲之续篇---第二课
  16. 手机上不了电信宽带连接服务器无响应怎么办,当网页都打不开该怎么办?
  17. JetPack中的Room
  18. Matlab从细胞型转换为矩阵From cell to matrix
  19. 怎样选用和替换三极管
  20. 织梦内容管理系统模板标签代码参考

热门文章

  1. 用Visual C++ 2010为Windows 7开发应用程序 Ribbon, Task Dialog, Multi-Touch
  2. python多进程和多线程一起使用_Python干货:多进程与多线程!
  3. 系统启动流程 - 理解modules加载流程
  4. oracle中exists和not exists用法(包含经典例题:查看学了所有课程的同学的信息的通俗易懂解释)
  5. Python报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 3……
  6. 求生之路linux和windows,《求生之路2》在Linux系统下运行比WIN7流畅
  7. matlab fscanf %f,matlab中的fscanf函数
  8. c语言扬声器程序,通过扬声器C编程并播放声音
  9. 使用正则表达式为手机号码或身份证号码打星号
  10. potrace论文解读