標籤:檔案 order 嵌套 ini source 位置 使用 cond 輸出
介面跳轉後內容回調 or內容回傳
前一個介面給後一個介面傳遞訊息
讓跳轉的intent攜帶參數:
1. 在第一個介面:intent封裝資料
it.putExtra("msg","吧啦啦啦");
2.在第二個介面取出資料
//取出資料方法:保證是擷取前一介面的同一個it對象。
Intent it=getIntent();
//取出資料
String msg=it.getStringExtra("msg");
//標籤的賦值————字串資料
mTextView.setText(msg);
攜帶資料返回前一個頁面
1. 在第一個介面設定啟動方法的改變:
startActivityForResult(Intent, requestCode);
Intent:意圖
requestCode:請求碼,必須大於0
2. 在第二個版面設定返回結果的方法
setResult(resultCode, data)
resultCode:返回碼
data:封裝資料的意圖。
3. 關閉第二介面
finish();
4. 在第一介面重寫onActivityResult方法
//推斷返回碼,請求碼是否匹配。假設匹配。取出資料
if(requestCode==10&&resultCode==1){
String content=data.getStringExtra("second");
//綁定資料給組件顯示
mGetTx.setText(content);
}
5. 第二介面意圖intent擷取不能在成員變數位置完畢。
照片回傳
ChoosePicture
Day 08
多媒體音頻與視頻錄製
MediaRecorder
MediaRecorder對象
各狀態解釋例如以下:
Idle—空暇狀態
當使用new語句建立一個MediaRecorder對象或者調用了其reset()方法時。該MediaRecorder對象處於Idle狀態。
在其它狀態下調用reset()方法,能夠使得MediaRecorder對象又一次回到Idle狀態,以達到再使用MediaRecorder對象的目的。
Initialized—已初始狀態
調用setVideoSource()或者setAudioSource()後,MediaRecorder將進入initialized狀態。
至於究竟錄製音頻還是視頻,取決於調用哪個方法。對於音頻錄製,系統支援從麥克風或電話兩個音頻源錄製資料。
Preparing—準備中狀態
在調用setOutputFormat()方法指定錄製輸出格式後,MediaRecorder將進入Preparing狀態。
在Preparing狀態下,MediaRecorder還須要設定編碼格式、檔案資料路徑等資訊。
Prepared — 已準備狀態
在Preparing狀態下調用prepare()方法,MediaRecorder對象將進入prepared狀態。表明錄製前的準備工作已經就緒。
Recording—錄製狀態
調用start()方法。MediaRecorder進入錄製狀態,錄製可能須要一段時間,這時候MediaRecorder一直處於錄製狀態。
調用stop()方法,MediaRecorder將停止錄製。並將錄製內容輸出到指定檔案,然後回到 Idle狀態。
Released—釋放狀態
MediaRecorder會佔用音頻和視頻硬體資源,因此當不再須要時。應該調用release()方法銷毀MediaRecorder對象,以釋放資源。
Error—錯誤狀態
假設因為某種原因出現了錯誤。 MediaRecorder將進入Error狀態,並觸發錯誤事件。調用OnErrorListener的onError()方法(假設提供的話)。
MediaRecorder還定義了OnInfoListener嵌套介面來監聽錄製過程中的錯誤資訊。
比如,當錄製的時間長度達到最大限制或者錄製檔案的大小達到了最大檔案限制時,系統會回調已經注冊的OnInfoListener介面的onInfo()方法。
與MediaPlayer相比, MediaRecorder的狀態相對簡單。
應合理控制該對象的狀態,才幹保證錄製程式的正確執行。
音頻錄製程式的架構代碼
初始化Mediarecorder對象
1. MediaRecorder recorder = new MediaRecorder();
設定音頻來源
2. recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
設定音訊輸出格式
3. recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
設定音頻編碼格式
4. recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
設定輸出檔案路徑:儲存到sdcard
5. recorder.setOutputFile(PATH_NAME);
準備
6. recorder.prepare();
開始錄製
7. recorder.start();
//錄製中……
8. recorder.stop();
停止
9. recorder.reset();
重設
10.recorder.release();
釋放資源
[Android開發學習] day07 & day08