鍍金池/ 教程/ Android/ Android音頻捕獲(錄音)
Android 應(yīng)用組件
使用布局文件自定義Android組件
Android通知
Android主題示例
Android JetPlayer實(shí)例
Android MediaPlayer(多媒體播放)
Android AbsoluteLayout
Android FrameLayout
Android Gestures/手勢(shì)
Android AutoCompleteTextView(自動(dòng)完成)實(shí)例
Android 資源組織和訪問(wèn)
Android ListView
Android GridView
Android數(shù)據(jù)備份
Android撥打電話
Android發(fā)送短信/SMS
Android ProgressDialog
SimpleCursorAdapter
Android發(fā)送電子郵件
Android Activity
Android TextView
Android事件處理
Android TableLayout
Android加載Spinner
Android內(nèi)容提供者
Android自定義字體
Android Service
Android CheckBox
Android Intent過(guò)濾器
Android LinearLayout
Android登錄實(shí)例
Android RadioButton
Android樣式和主題
Android自定義組件及屬性
Android UI控件
Android Animation(動(dòng)畫(huà))實(shí)例
Android Camera(攝像頭)
Android ToggleButton
Android Clipboard(復(fù)制/剪貼板)
Android音頻捕獲(錄音)
發(fā)布Android應(yīng)用
Android Alertdialog(警告對(duì)話框)
Android圖片效果
Android內(nèi)部存儲(chǔ)
Android基于位置服務(wù)
Android RadioGroup
Android AutoCompleteTextView
Android Bluetooth(藍(lán)牙)實(shí)例
Android RelativeLayout
Android最佳實(shí)踐
Android本地化
Android自定義組件
Android教程
Android 架構(gòu)
Android UI布局
Android Button
Android Hello World示例
Android音頻管理器實(shí)例
ArrayAdapter
Android拖放
Android碎片/片段
Android圖片切換
Android JSON解析器
Android開(kāi)發(fā)環(huán)境搭建
Android Spinner
Android樣式示例
使用活動(dòng)代碼自定義Android組件
Android ImageButton
Android EditText
Android廣播接收器

Android音頻捕獲(錄音)

Android有一個(gè)內(nèi)置的麥克風(fēng),通過(guò)它可以捕獲音頻和存儲(chǔ),或在手機(jī)進(jìn)行播放。有很多方法可以做到這一點(diǎn),但最常見(jiàn)的方法是通過(guò)MediaRecorder類。

Android提供MediaRecorder類錄制音頻或視頻。為了使用MediaRecorder類,首先創(chuàng)建MediaRecorder類的一個(gè)實(shí)例。其語(yǔ)法如下給出。

MediaRecorder myAudioRecorder = new MediaRecorder();

現(xiàn)在設(shè)置源,輸出編碼格式和輸出文件。下面的語(yǔ)法給出。

myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
myAudioRecorder.setOutputFile(outputFile);

指定音頻源和格式以及它的輸出文件之后,我們就可以調(diào)用兩種基本方法制備,開(kāi)始記錄音頻。

myAudioRecorder.prepare();
myAudioRecorder.start();

除了這些方法,還有其他的MediaRecorder類可以更好地控制音頻和視頻錄制列出的方法。

Sr.No 方法及說(shuō)明
1 setAudioSource()
這個(gè)方法規(guī)定的音頻源要被記錄
2 setVideoSource()
這個(gè)方法規(guī)定視頻源將要記錄
3 setOutputFormat()
該方法規(guī)定了音頻格式中的音頻將被存儲(chǔ)
4 setAudioEncoder()
此方法指定要使用的音頻編碼器
5 setOutputFile()
該方法配置文件路徑到其中的記錄的音頻將被存儲(chǔ)
6 stop()
此方法停止記錄處理
7 release()
當(dāng)需要在記錄器實(shí)例這種方法應(yīng)被調(diào)用

例子

這個(gè)例子提供了MediaRecorder類捕獲音頻的示范,MediaPlayer類來(lái)播放錄制的音頻。

為了試驗(yàn)這個(gè)例子,需要在實(shí)際設(shè)備上運(yùn)行此例子。

Steps 描述
1 使用Android Studio創(chuàng)建Android應(yīng)用程序,并將其命名為:AudioCapture,創(chuàng)建這個(gè)項(xiàng)目,確保目標(biāo)SDK編譯在Android SDK的最新版本或使用更高級(jí)別的API。
2 修改src/MainActivity.java 文件添加AudioCapture代碼
3 如果修改所需的布局XML文件res/layout/activity_main.xml 添加GUI組件
4 修改 res/values/string.xml文件,并添加必要的字符串組成部分
5 修改 AndroidManifest.xml 添加必要的權(quán)限。
6 運(yùn)行應(yīng)用程序并選擇運(yùn)行Android設(shè)備,并在其上安裝的應(yīng)用和驗(yàn)證結(jié)果。

這里是 src/com.yiibai.audiocapture/MainActivity.java 內(nèi)容

package com.example.audiocapture;

import java.io.File;
import java.io.IOException;

import android.media.MediaPlayer;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

   private MediaRecorder myAudioRecorder;
   private String outputFile = null;
   private Button start,stop,play;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      start = (Button)findViewById(R.id.button1);
      stop = (Button)findViewById(R.id.button2);
      play = (Button)findViewById(R.id.button3);

      stop.setEnabled(false);
      play.setEnabled(false);
      outputFile = Environment.getExternalStorageDirectory().
      getAbsolutePath() + "/myrecording.3gp";;

      myAudioRecorder = new MediaRecorder();
      myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
      myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
      myAudioRecorder.setAudioEncoder(MediaRecorder.Outpu
上一篇:Android Spinner下一篇:Android Activity