[Android開發學習] day07 & day08

來源:互聯網
上載者:User

標籤:檔案   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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.