Android 微信小视频录制功能实现详细介绍微信小视频录制功能实现详细介绍
Android 微信小视频录制功能微信小视频录制功能
开发之前
这几天接触了一下和视频相关的控件, 所以, 继之前的微信摇一摇, 我想到了来实现一下微信小视频录制的功能, 它的功能点比较
多, 我每天都抽出点时间来写写, 说实话, 有些东西还是比较费劲, 希望大家认真看看, 说得不对的地方还请大家在评论中指正. 废
话不多说, 进入正题.
开发环境
最近刚更新的, 没更新的小伙伴们抓紧了
Android Studio 2.2.2
JDK1.7
API 24
Gradle 2.2.2
相关知识点
视频录制界面 SurfaceView 的使用
Camera的使用
相机的对焦, 变焦
视频录制控件MediaRecorder的使用
简单自定义View
GestureDetector(手势检测)的使用
用到的东西真不少, 不过别着急, 咱们一个一个来.
开始开发
案例分析案例分析
大家可以打开自己微信里面的小视频, 一块简单的分析一下它的功能点有哪些 ?
基本的视频预览功能
长按 “按住拍” 实现视频的录制
录制过程中的进度条从两侧向中间变短
当松手或者进度条走到尽头视频停止录制 并保存
从 “按住拍” 上滑取消视频的录制
双击屏幕 变焦 放大
根据上述的分析, 我们一步一步的完成
搭建布局搭建布局
布局界面的实现还可以, 难度不大
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/main_tv_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="150dp"
android:elevation="1dp"
android:text="双击放大"
android:textColor="#FFFFFF"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<SurfaceView
android:id="@+id/main_surface_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"/>
<LinearLayout