編輯:關於Android編程
9、釋放資源
錄制聲音的權限
錄制音頻的狀態圖
public class MediaRecorderTest extends Activity { private MediaRecorder recorder; private MediaPlayer player; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.recorder); //1、創建錄音對象 recorder = new MediaRecorder(); //2、指定錄音設備(初始化狀態) recorder.setAudioSource(MediaRecorder.AudioSource.MIC); //3、設置錄制音頻的碼率 recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); //4、設置錄制音頻的編碼格式 recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); //5、設置錄制音頻存放的位置(這裡指定手機sdcard的根目錄下,文件名為music.mp3) recorder.setOutputFile(Environment.getExternalStorageDirectory().getAbsolutePath() + music.mp3); try { //6、准備錄音(准備狀態) recorder.prepare(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //對剛才的錄音文件進行播放,創建播放音頻對象 player = new MediaPlayer(); try { //設置要播放的音頻文件 player.setDataSource(Environment.getExternalStorageDirectory().getAbsolutePath() + /music.mp3); //准備播放音頻(准備狀態) player.prepare(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void start(View view){ recorder.start();//7、開始錄音 Toast.makeText(this, 正在錄音, 0).show(); } public void stop(View view){ recorder.stop();//8、停止錄音 Toast.makeText(this, 結束錄音,錄音文件以保存到sdcard。, 0).show(); recorder.release();//9、釋放資源 } public void play(View view){ player.start();//開始播放剛才錄制的音頻 } }
前言在Activity中一般第一句就是調用setContentView(R.layout.XXX),但這其中系統做了那些工作?我們知道,在ClassLoader裝載了Ma
大家好,翻了翻以前的筆記,發現了一個我特別標記的功能,那就是ListView全選功能,頓時想起了我那個時候苦逼的生涯,由於我大學機械出身,大學畢業了都不知道
這篇文章主要和大家一起動手編寫Android圖片加載框架,從內部原理到具體實現來詳細介紹如何開發一個簡潔而實用的Android圖片加載緩存框架,感興趣的小伙伴們可以參考一
本文實例講述了Android控件之Gallery用法。分享給大家供大家參考。具體如下:Gallery組件主要用於橫向顯示圖像列表,不過按常規做法。Gallery組件只能有