本文主要是介绍录像机功能的实现
这里用到了是 MediaRecorder +camera 来实现录像功能,关于MediaRecorder 与camera的原理这里就不多加介绍了,
图片源都是在网上找的,这里就不添加了,你们可以随便添
第三方架包 junit [直接在stuido中找的,不用刻意去下载junit的jar包]
实现功能:录像
sd卡内存判断查询
录像视频的分辨率设置
这里的摄像头我给写死了,摄像头的前置后置没有进行处理
一,在AndroidManifest 中添加权限,这个千万不能忘记
<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_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- 调用硬件相机权限 -->
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
二,xml布局
activity_main.xml <RelativeLayout>
<SurfaceView
android:id="@+id/surfaceview"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<LinearLayout
android:id="@+id/ll_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:orientation="horizontal"
android:layout_marginTop="14dp"
>
<TextView
android:id="@+id/tv_prefix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="20sp"
android:text="0"/>
<TextView
android:id="@+id/tv_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="20sp"
android:text="0"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="20sp"
android:text=":"/>
<TextView
android:id="@+id/tv_prefix2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="20sp"
android:text="0"/>
<TextView
android:id="@+id/tv_text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:textSize="20sp"
android:text="0"/>
</LinearLayout>
<Button
android:id="@+id/bu_setup"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:background="@drawable/ic_settings_white_24dp"
android:layout_marginRight="14dp"
android:layout_marginTop="14dp"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
>
<Chronometer
android:id="@+id/chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:textColor="#ffffff"
android:textSize="15sp"
android:visibility="gone" />
<Button
android:id="@+id/bt_StartStop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15dp"
android:background="@drawable/recordvideo_start"
android:scaleType="centerCrop"
tools:context=".Activity.MainActivity" />
</RelativeLayout>
activity_setup.xml <LinearLayout>
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/tv_dpi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="分辨率:" android:textSize="20sp" android:textColor="@color/colorBlack" android:layout_marginLeft="15dp" android:layout_marginTop="10dp" android:layout_marginRight="10dp" /> <TextView android:id="@+id/tv_shuju" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="320*240" android:textSize="20sp" android:textColor="@color/colorPrimary" android:layout_alignParentRight="true" android:layout_marginRight="15dp" /> </RelativeLayout> <TextView android:layout_width="match_parent" android:background="@color/colorWhite" android:layout_height="1dp" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/tv_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="时间段:" android:textSize="20sp" android:textColor="@color/colorBlack" android:layout_marginLeft="15dp" android:layout_marginTop="10dp" android:layout_marginRight="10dp" /> <TextView android:id="@+id/tv_shijian" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="08:00-20:00" android:textSize="20sp" android:textColor="@color/colorPrimary" android:layout_alignParentRight="true" android:layout_marginRight="15dp" /> </RelativeLayout> <TextView android: