1. 程式人生 > >android多媒體部分學習筆記六----音訊錄製 mediaRecorder

android多媒體部分學習筆記六----音訊錄製 mediaRecorder

/**
*
* 使用意圖捕獲音訊
*
* @time 下午12:58:03
* @author retacn yue
* @Email [email protected]
*/
public class MediaRecorderDemoActivity extends Activity implements OnCompletionListener, OnClickListener {
private static final int RECORD_REQUEST = 0;
private Button btn_play, btn_record;
private Uri audioFileUri;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findView();
}


/**
* 例項化控制元件
*/
private void findView() {
btn_record = (Button) this.findViewById(R.id.btn_record_audio);
btn_record.setOnClickListener(this);
btn_play = (Button) this.findViewById(R.id.btn_play_audio);
btn_play.setOnClickListener(this);
btn_play.setEnabled(false);
}


@Override
public void onClick(View v) {
if (v == btn_record) {
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(intent, RECORD_REQUEST);
} else if (v == btn_play) {
MediaPlayer mediaPlayer = MediaPlayer.create(this, audioFileUri);
mediaPlayer.setOnCompletionListener(this);
mediaPlayer.start();
btn_play.setEnabled(false);
}


}


@Override
public void onCompletion(MediaPlayer mp) {
btn_play.setEnabled(true);
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
audioFileUri = data.getData();
btn_play.setEnabled(true);
}
}

}

相關推薦

android多媒體部分學習筆記----音訊錄製 mediaRecorder

/** * * 使用意圖捕獲音訊 * * @time 下午12:58:03 * @author retacn yue * @Email [email protected] */ public class MediaRecorderDemoActivity exten

Android第一行代碼學習筆記---Intent向活動傳遞數據

一行 而已 activity ase 是否 button can ride 重載 @1、向下一個活動傳遞數據: Intent提供了一系列putExtra()方法的重載,可以把我們想要傳遞的數據暫存在Intent中,啟動了另一個活動後,只需把這些數據再從Intent中取出就可

Pro Android學習筆記 安全和許可權 3 Provider許可權

訪問其他應用的content provider我們在ProPermission中提供了一個content provider,成為PrivProvider,然後在ProPermissionClient中對呼叫這個provider介面。在ProPermission的AndroidManifest.xml中,對pr

Android學習筆記() 調整手機螢幕亮度Brightness seekbar實現

brightness(亮度)是window中的一個屬性 修改亮度需要取得window屬性 方法為: WindowManager.LayoutParams layoutParams = getWindow().getAttributes();       

IP、Apache虛擬主機配置部分學習筆記

當前 環境變量 httpd 無法 php nbsp 轉換 配置系統 語法 IP地址 IP地址就是計算機的一個“編號”,該編號是唯一的。相當於我們的身份證號碼一樣。 IP地址格式:a.b.c.d ,每一段的取值範圍0-255。 本機的IP地址:127.0.0.1

Python學習筆記:文件處理

alt 筆記 lin 系統 顯式 當前位置 open 刷新 大小 一:打開文件 open(name,mode,[bufferSize]) name:文件路徑 mode:文件打開方式 二:文件讀取 read()方法:可以一次讀取文件的全部內容,Python把內容讀到

<Bootstrap> 學習筆記. 柵格系統使用案例

柵格 3.2 btn nta head ext ont ces str <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <t

Linux學習筆記()---Xshell通過公鑰連接CentOS系統

工具 fff bdc 長度 遠程服務器 遠程服務 size 服務器 安全性 前面我們通過ssh,使用服務器端用戶名和密碼遠程連接CentOS系統。這種方式還不夠安全,為了提高連接訪問的安全性,建議使用密鑰認證。具體的操作及配置如下:1.在Xshell中創建密鑰對(公鑰和私鑰

AWS學習筆記()--利用CloudFormation管理AWS資源

view sdm ces top 結構 iat param nfs-utils creat CloudFormation是管理AWS資源的一項服務。你可以創建一個Template,其中包括所有用到的資源(VPC、EC2、RDS等)。Template支持參數化,可根據條件創建

Android Room框架學習筆記

build tails accep new ignore Owner -m dice ike 一、使用 1、build.gradle引入 compile "android.arch.persistence.room:runtime:1.0.0" annotationPro

netty權威指南學習筆記——編解碼技術之MessagePack

ssi add java exception 字節數組 ted evel thrift 發送   編解碼技術主要應用在網絡傳輸中,將對象比如BOJO進行編解碼以利於網絡中進行傳輸。平常我們也會將編解碼說成是序列化/反序列化   定義:當進行遠程跨進程服務調用時,需要把被傳輸

scala 學習筆記 推導

表達式 過濾 一個 mage 介紹 val 關鍵字 定義 循環   1、介紹     在Scala中,推導將生成器、過濾器、和定義組合在一起。   2、例子          有一種將result用作val(而不是var)的方式,:“就地&rdqu

IDA Pro 權威指南學習筆記() - 次要的 IDA 顯示窗口

方便 dump 可能 沒有 匯編 關系 布局 提高 整數 十六進制窗口 IDA 十六進制窗口可以配置為顯示各種格式,並可作為十六進制編輯器使用 默認情況下,十六進制窗口顯示程序內容和列表的標準十六進制代碼,每行顯示 16 個字節,以及其對應的 ASCII 字符 和在反

2018/08/14 《圖解HTTP》 學習筆記()

你是 pass img round degist div 圖片 問題 哪些 推薦一首歌   - 好吧,今天剛入職第二天,也沒聽歌。 哈哈哈哈。 讀   第五章《確認用戶訪問身份的認證》 總結 1:何為認證?   - 其實這個問題就比較寬泛了,總的來說,就是你有證明你

2018/09/13《塗抹MySQL》【MySQL復制特性】學習筆記()

ref nor affect 來看 like 從數據 b2c img 密碼 推薦一首歌   - 《可不可以》張紫豪 好吧,隨便從排行榜上找了一首 讀   第十一章《MySQL的復制特性》 總結 1:復制(Replication) 應用場景?   - 提高性能 (通過

Python基礎學習筆記()

學習筆記 當前 read 記得 刪除 enc see 各類 準備 一 文件操作 一 文件操作   在寫程序的時候 有時候會需要對程序外部的文件進行操作 這時候就需要需要用到文件句柄對文件進行操作.   打開文件 f = open(‘文件路徑‘,mode=‘打開模式

JSP學習筆記之JavaBean

接著之前的內容繼續下去。接下來是講解JavaBean。 1.什麼是javabean Javabean是特殊的java類。使用java語言編寫的,他的主要特徵如下:    a 提供一個預設的無參的建構函式。   b 需要

分散式學習筆記:分散式利器Zookeeper

ZooKeeper簡介 ZooKeeper是一個開放原始碼的分散式應用程式協調服務,它包含一個簡單的原語集,分散式應用程式可以基於它實現同步服務,配置維護和命名服務等。   ZooKeeper設計目的 1.最終一致性:client不論連線到哪個Server,展示給它都

C++學習筆記 () ---- 多型與虛擬函式

①、多型的概念 先上一個示例 #include <iostream> using namespace std; //基類People class People{ public: People(char *name, int age); void display(

Java多執行緒學習筆記() synchronized(this)同步語句塊

synchronized (this)同步語句塊 1. 一半非同步,一半同步 1.1 Task 1.2 ThreadA 1.3 ThreadB 1.4 Test 1.5 執行結果 2. synchronize