1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình Android: AudioRecord docx

5 290 4

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 107,5 KB

Nội dung

Ghi âmChương trình ghi âm là 1 ứng dụng đặc biệt và hữu ích trên điện thoại di động cho nên hầu hết các thế hệ smartphone hiện tại đều có sẵn chương trình ghi âm.. Vấn đề đặc ra là tron

Trang 1

Ghi âm

Chương trình ghi âm là 1 ứng dụng đặc biệt và hữu ích trên điện thoại di động cho nên hầu hết các thế hệ smartphone hiện tại đều có sẵn chương trình ghi âm Vấn đề đặc ra

là trong 1 số ứng dụng riêng của bạn, bạn có thể cần tính năng ghi âm để phối hợp với các tính năng riêng mà bạn đã viết Cho nên trong phần demo này tôi sẽ làm 1 ứng dụng ghi âm riêng lẻ để các bạn có thể tham khảo và xử dụng khi cần

1/ Tạo Project :

Project name: AudioRecord

Build Target: Android 2.3.3

Application name: AudioRecord

Package name: com.dac.AudioRecord

Create Activity: Record

2/ Trong file giao diện main.xml các bạn tạo 4 button như sau:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Nobilomo"

/>

<Button android:id="@+id/beginBtn" android:text="Begin Recording"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:onClick="doClick" />

<Button android:id="@+id/stopBtn" android:text="Stop Recording"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:onClick="doClick" />

<Button android:id="@+id/playRecordingBtn"

android:text="Play Recording"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:onClick="doClick" />

<Button android:id="@+id/stopPlayingRecordingBtn"

android:text="Stop Playing Recording"

Trang 2

android:layout_height="wrap_content"

android:onClick="doClick" />

</LinearLayout>

3/ Và trong file Record.java các bạn code xử lý:

package dac.com.AudioRecord

import java.io.File;

import android.app.Activity;

import android.media.MediaPlayer;

import android.media.MediaRecorder;

import android.os.Bundle;

import android.os.Environment;

import android.view.View;

public class Record extends Activity {

private MediaPlayer mediaPlayer;

private MediaRecorder recorder;

private String OUTPUT_FILE;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

OUTPUT_FILE = Environment.getExternalStorageDirectory() +

"/recordaudio3.3gpp";

}

public void doClick(View view) {

switch(view.getId()) {

case R.id.beginBtn:

try { beginRecording();

} catch (Exception e) { e.printStackTrace();

}

break;

case R.id.stopBtn:

try { stopRecording();

} catch (Exception e) { e.printStackTrace();

}

break;

case R.id.playRecordingBtn:

try { playRecording();

} catch (Exception e) { e.printStackTrace();

}

Trang 3

case R.id.stopPlayingRecordingBtn:

try { stopPlayingRecording();

} catch (Exception e) { e.printStackTrace();

}

break; } }

private void beginRecording() throws Exception {

killMediaRecorder();

File outFile = new File(OUTPUT_FILE);

if(outFile.exists()) { outFile.delete();

} recorder = new MediaRecorder();

recorder.setAudioSource(MediaRecorder.AudioSource.MIC);

recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile(OUTPUT_FILE);

recorder.prepare();

recorder.start();

}

private void stopRecording() throws Exception {

if (recorder != null) { recorder.stop();

} }

private void killMediaRecorder() {

if (recorder != null) { recorder.release();

} }

private void killMediaPlayer() {

if (mediaPlayer != null) {

try { mediaPlayer.release();

} catch (Exception e) { e.printStackTrace();

} } }

private void playRecording() throws Exception {

killMediaPlayer();

mediaPlayer = new MediaPlayer();

mediaPlayer.setDataSource(OUTPUT_FILE);

mediaPlayer.prepare();

mediaPlayer.start();

}

private void stopPlayingRecording() throws Exception {

if(mediaPlayer != null) {

Trang 4

} }

@Override

protected void onDestroy() {

super.onDestroy();

killMediaRecorder();

killMediaPlayer();

}

}

Vậy ta đã code xử lý cho cả 4 button và các hàm tương ứng để xử lý (xử dụng các công cụ hỗ trợ của Android).

Sau đó để chạy được ứng dụng các bạn phải thêm các Permission trong file

AndroidManifest.xml :

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.androidbook.media.audiorecord"

android:versionCode="1"

android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name" <activity android:name=".Record"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

<uses-sdk android:minSdkVersion="7" />

<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>

</manifest>

Tiếp theo các bạn debug ứng dụng (có phone thì cắm vào thử không thì deploy lên máy thật để kiểm tra ứng dụng nha các bạn )

Ngày đăng: 08/08/2014, 15:20

TỪ KHÓA LIÊN QUAN

w