錄製視頻
錄製視頻須要用到麥克風和攝像頭硬件,還須要賦予一些相應的權限。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 是 MediaStream Recording API 提供的用來進行媒體輕鬆錄製的接口, 他須要經過調用 MediaRecorder() 構造方法進行實例化。
- MediaRecorder錄像錄音必須按照API說明的調用順序依次調用,不然報錯。可能會出現沒法調用start()方法或者調用start()後閃退。
- MediaRecorder的輸出能夠寫入到一個文件。
- MediaRecorder依賴硬件,不一樣手機上可能須要不一樣的配置。
Handler
Handler類的引入
![](http://static.javashuo.com/static/loading.gif)
Handler的執行流程圖
![](http://static.javashuo.com/static/loading.gif)
- 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類
- android.os.AsyncTask類是一個工具類,它使得處理後臺進程以及將進度更新發布到UI線程更加容易。
- 這個類專門用於持續最多數秒鐘的較短的操做,對於長時間運行的後臺任務,應該使用Java併發工具框架。
- AsyncTask類帶有一組公有的方法和一組受保護的方法。公有方法用於執行和取消其任務。execute方法啓動一個異步的操做,而cancel方法取消該操做。受保護的方法是供你在子類中覆蓋的。doInBackground方法就是一個受保護的方法,它是該類中最重要的方法,而且爲異步操做提供了邏輯。
- 還有一個publishProgress方法,也是受保護的方法,它一般從doInBackground中調用屢次,一般在該方法中編寫代碼更新一個進度條或其餘UI組件。
![](http://static.javashuo.com/static/loading.gif)
學習進度條
目標 |
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小時框架
參考資料