一 前言
在前面已經介紹過使用
mediarecorder,接下來就是看看音訊錄製的過程。
二 音訊錄製
音訊錄製步驟如下:
(1)建立mediarecorder物件例項,可以通過預設的構造方法進行建立;
(2)設定音訊**、編碼格式、編碼位率、取樣率等,分別通過(1)獲取的例項呼叫如下方法進行設定setaudiosource(一般為麥克風mic)、setaudioencoder、setaudioencodingbitrate、setaudiosamplingrate等,這些引數可以控制聲音的品質、檔案的大小,一般來說,聲音品質越大,產生的音訊檔案越大;
(3)設定輸出檔案(音訊檔案)的格式,及儲存位置分別通過(1)獲取的例項呼叫如下方法setoutputformat、setoutputfile;
(4)呼叫prepare方法做錄製前的準備工作;
(5)呼叫start、pause、stop方法控制錄製過程;實現**如下:
public voidstartrecord()
startrecordtime = system.currenttimemillis
();stoprecordtime = -1
;filename = system.currenttimemillis
() + ".amr"
;file file = new file(path_user_audio
, filename);
// if (!file.exists()) catch (ioexception e)
// }
mrecorder = new mediarecorder();
//設定音訊源(使用麥克風錄音)
mrecorder.setaudiosource(mediarecorder.audiosource.mic
);//設定所錄製的音訊檔案的格式 amr用於移動裝置的音訊,壓縮比比較大,
// 但相對其他的壓縮格式質量比較差,由於多用於人聲,通話,效果還是很不錯的。
mrecorder.setoutputformat(mediarecorder.outputformat.amr_nb
);//設定所錄音的編碼格式
mrecorder.setaudioencoder(mediarecorder.audioencoder.amr_nb
);//設定錄製的音訊檔案的儲存位置
mrecorder.setoutputfile(file.getabsolutepath());
try catch (ioexception e)
try catch (exception e)
isnormallyrecord =true;
sendmessage(handler
, state_start_record
);isrecording = true;
}
說明path_user_audio為音訊檔案儲存的目錄
。接下來自定義乙個介面監聽錄製的進度,如下:
/*** 錄音狀態更改監聽
*/public inte***ce recordchangelistener
建立乙個handle物件,迴圈更新進度,如下:
/** 非同步重新整理handler物件 */private handler handler = new handler()
switch (msg.what)
}};
上述的runnable實現如下:
private runnable runnable = new runnable()};
停止錄製的方法實現**如下:
public voidstoprecord() catch (exception e) finally
}mrecorder = null;
isrecording = false;
sendmessage(handler
, state_stop_record);}
}
上述sendmessage實現如下:
private voidsendmessage(handler handler, int what)
嗯,到這裡呼叫上面的startrecord方法就可以開始錄製音訊了。
必要的許可權設定:
android:name=
"android.permission.read_external_storage"
/>
android
:name=
"android.permission.write_external_storage"
/>
android
:name=
"android.permission.record_audio"
/>
android
:name=
"android.permission.modify_audio_settings"
/>
android
:name=
"android.permission.mount_unmount_filesystems"
/>
android
:name=
"android.permission.camera"
/>
何謂靡靡之音
我今天偶然看到這個問題 心想什麼是靡靡之音呢?提問出處 靡靡之音,指柔弱 悲涼的 出處 韓非子 十過 此師延之所作,與紂為靡靡之樂也。可是即便是這樣,完全還不懂得什麼是靡靡之音。然後偶爾看到一本書 這世界,原該天清地寧 有一篇的名字是 戲劇的格局與氣象 裡面分析了馬連良和楊寶森的嗓音特點,並且講了 ...
Gregorian(上帝之音)
當聽過一首好的 的時候我總是不聽的聽著,直到下一首好的出現為止。來自英倫島嶼的gregorian 教皇合唱團 又稱之為 上帝之 他們浸淫於教堂 與合生 雖然翻唱了很多流行歌曲,但是他們的風格確實最能刺透人內心的那種。gregorian和莎拉布萊曼的搭配,個人認為那是把神秘和高雅 發揮到極致的。天籟般...
如何使用 MediaRecorder錄製聲音?
先對聲音錄製有個大致的了解,需要設定聲音資料的 輸出編碼方式 輸出檔案路徑 輸出檔案格式等。有一點需要說明的是 輸出檔案格式就相當於乙個容器,具體採用什麼編碼需要指定編碼格式。編碼一樣可能輸出格式不一樣,輸出格式一樣其編碼方式可能不一樣。錄製音訊主要片段如下 mediarecorder mrec f...