如何使用 MediaRecorder錄製聲音?

2021-05-23 16:31:52 字數 1396 閱讀 8908

先對聲音錄製有個大致的了解,需要設定聲音資料的**、輸出編碼方式、輸出檔案路徑、輸出檔案格式等。有一點需要說明的是:輸出檔案格式就相當於乙個容器,具體採用什麼編碼需要指定編碼格式。編碼一樣可能輸出格式不一樣,輸出格式一樣其編碼方式可能不一樣。

錄製音訊主要片段如下:

mediarecorder mrec ;

file audiofile = null;

private static final string tag="soundrecordingdemo";

protected void startrecording() throws ioexception

catch (ioexception e)

}mrec.setoutputfile(audiofile.getabsolutepath());

mrec.prepare();

mrec.start();

}protected void stoprecording()

protected void processaudiofile()

對以上**解析如下:

1.        在 startrecording 方法中,例項化並初始化 mediarecorder 的例項。

2.        輸入源被設定為麥克風(mic)。

3.        輸出格式被設定為 3gpp(*.3gp 檔案),這是移動裝置專用的**格式。

4.        編碼器被設定為 amr_nb,這是音訊格式,取樣率為 8 khz。nb 表示窄頻。sdk 文件 解釋了不同的資料格式和可用的編碼器。

5.        音訊檔案儲存在儲存卡而不是記憶體中。external.getexternalstoragedirectory() 返回儲存卡位置的名稱,在該目錄中將建立乙個臨時檔名。然後,通過呼叫 setoutputfile 方法將檔案關聯到 mediarecorder 例項。音訊資料將儲存到該檔案中。

6.        呼叫 prepare 方法完成 mediarecorder 的初始化。準備開始錄製流程時,將呼叫 start 方法。在呼叫 stop 方法之前,將對儲存卡上的檔案進行錄製。release 方法將釋放分配給 mediarecorder 例項的資源。

7.        音訊取樣完成之後, 向裝置的**庫新增該音訊。在該**樣例中,processaudiofile 方法將音訊新增到**庫。使用 intent 通知裝置上的**應用程式有新內容可用。

8.        最後還需要注意的是,錄製聲音需要一定的許可權,需要向 androidmanifest.xml 新增許可權宣告:

總結說明:

分享android開發心得,感受android帶給我們的新體驗。

如何使用 滅火器如何使用

滅火器的種類不同使用方法也不相同,下面單獨針對乾粉滅火器 泡沫滅火器和二氧化碳滅火器使用方法說明。一 乾粉滅火器的使用方法 適用範圍 適用於撲救各種易燃 可燃液體和易燃 可燃氣體火災,以及電器裝置火災。1 右手拖著壓把,左手拖著滅火器底部,輕輕取下滅火器。2 右手提著滅火器到現場。3 除掉鉛封。4 ...

如何使用 如何正確使用定速巡航

現在隨著造車技術的不斷創新和改進,越來越多的高科技功能都應用到了汽車上,不僅提供了實用性,也讓我們享受到了科技的快感。今天我們就聊一聊一項可以實現車輛自動駕駛的功能 定速巡航。定速巡航 cruise control system 簡稱ccs,簡單的理解就是給車子設定乙個速度值,駕駛員只需要掌握方向,...

如何使用CFileDialog

cfiledialog的語法 cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword dwflags ofn hidereadonly ofn overwriteprompt,l...