Android学习六

录制视频

录制视频需要用到麦克风和摄像头硬件,还需要赋予一些相应的权限。

 <uses-permission android:name="android.permission.RECORD_AUDIO"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.CAMERA"/>
 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 

MediaRecorder类

  • MediaRecorder 是 MediaStream Recording API 提供的用来进行媒体轻松录制的接口, 他需要通过调用 MediaRecorder() 构造方法进行实例化。
  • MediaRecorder录像录音必须按照API说明的调用顺序依次调用,否则报错。可能会出现无法调用start()方法或者调用start()后闪退。
  • MediaRecorder的输出可以写入到一个文件。
  • MediaRecorder依赖硬件,不同手机上可能需要不同的配置。

Handler

Handler类的引入

Handler的执行流程图

  • void handleMessage(Message msg):处理消息的方法,通常是用于被重写!
  • sendEmptyMessage(int what):发送空消息
  • sendEmptyMessageDelayed(int what,long delayMillis):指定延时多少毫秒后发送空信息
  • sendMessage(Message msg):立即发送信息
  • sendMessageDelayed(Message msg):指定延时多少毫秒后发送信息
  • final boolean hasMessage(int what):检查消息队列中是否包含what属性为指定值的消息 如果是参数为(int what,Object object):除了判断what属性,还需要判断Object属性是否为指定对象的消息

AsyncTask类

  1. android.os.AsyncTask类是一个工具类,它使得处理后台进程以及将进度更新发布到UI线程更加容易。
  2. 这个类专门用于持续最多数秒钟的较短的操作,对于长时间运行的后台任务,应该使用Java并发工具框架。
  3. AsyncTask类带有一组公有的方法和一组受保护的方法。公有方法用于执行和取消其任务。execute方法启动一个异步的操作,而cancel方法取消该操作。受保护的方法是供你在子类中覆盖的。doInBackground方法就是一个受保护的方法,它是该类中最重要的方法,并且为异步操作提供了逻辑。
  4. 还有一个publishProgress方法,也是受保护的方法,它通常从doInBackground中调用多次,通常在该方法中编写代码更新一个进度条或其他UI组件。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 150/200 2/2 20/20
第二周 200/400 1/3 20/40
第三周 100/500 1/4 10/50
第四周 200/700 1/5 15/65
第五周 1486/2186 1/6 15/80
第六周 1400/3586 1/7 18/98
第七周 1400/5000 1/8 18/116
第八周 1200/6200 1/9 15/131
第九周 800/7000 2/11 12/143
第十周 1500/8500 1/12 15/158
第十周 1500/1000 1/13 10/168
  • 计划学习时间:10小时

  • 实际学习时间:15小时

参考资料

原文地址:https://www.cnblogs.com/Shambryce/p/10853229.html