1.代码:
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaRecorder;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Display;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
public class Test extends Activity {
/** Called when the activity is first created. */
private ListView mListView = null;
private Button btn_start = null;
private Button btn_stop = null;
private MediaRecorder mMediaRecorder = null;
private List<String> rec = new ArrayList<String>();// ���¼���ļ�
private File home = null;
private File path = null;
private String temp = "recaudio_";// ��ʱ�ļ�ǰ
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mListView = (ListView) this.findViewById(R.id.ListView01);
btn_start = (Button) this.findViewById(R.id.Button01);
btn_stop = (Button) this.findViewById(R.id.Button02);
// �Ƿ����SD��
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
home = Environment.getExternalStorageDirectory();
MusicList();
} else {
Toast.makeText(this, "���Ȳ���SD��", Toast.LENGTH_LONG).show();
return;
}
btn_start.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try {
// ����¼����ʱ�ļ�
path = File.createTempFile(temp, ".3gp", home);
setTitle("==" + path.getAbsolutePath());
mMediaRecorder = new MediaRecorder();
mMediaRecorder
.setAudioSource(MediaRecorder.AudioSource.MIC);// ���������Դ����˷�
mMediaRecorder
.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);// ���ø�ʽ
mMediaRecorder
.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setOutputFile(path.getAbsolutePath());// ��������ļ�·��
mMediaRecorder.prepare();
mMediaRecorder.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
btn_stop.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
mMediaRecorder.stop();
mMediaRecorder.release();
mMediaRecorder = null;
MusicList();
}
});
mListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String path = home + File.separator + rec.get(arg2);
File f = new File(path);
PlayMusic(f);
}
});
}
/**
* ��ʾ�б�
*/
public void MusicList() {
File[] f = home.listFiles(new MusicFilter());
rec.clear();
for (int i = 0; i < f.length; i++) {
File file = f[i];
rec.add(file.getName());
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, rec);
mListView.setAdapter(adapter);
}
/**
* ����¼���ļ�
*
* @param file
*/
public void PlayMusic(File file) {
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "audio");
this.startActivity(intent);
}
class MusicFilter implements FilenameFilter {
public boolean accept(File dir, String filename) {
// TODO Auto-generated method stub
return (filename.endsWith(".3gp"));
}
}
}
2.main.xml文件
<?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"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始"
android:layout_weight="1"
android:id="@+id/Button01"
>
</Button>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="结束"
android:layout_weight="1"
android:id="@+id/Button02" >
</Button>
</LinearLayout>
<ListView android:layout_height="wrap_content"
android:id="@+id/ListView01"
android:layout_width="fill_parent">
</ListView>
</LinearLayout>
分享到:
相关推荐
android下实现用mediarecorder录制视频,保存在本地,并通过socket发送
Android开发中MediaRecorder语音录制播放
android录制视频音频存储于sd卡并点击播放实例,使用MediaRecorder录制视频和音频实例,以列表形式显示并点击播放
android录制视频的例子,我自己写的,完整代码,我测试过N多次可以录出视频来.并且视频效果还不错哦,网上很多这种例子但是大部分都是导入运行会有错,根本用不了
为了在Android应用中录制音频,Android提供了MediaRecorder类,使用MediaRecorder录制音频的过程很简单,步骤如下: Step1:创建MediaRecorder对象; Step2:调用MediaRecorder对象的setAudioSource()方法设置声音...
使用MediaRecorder简单实现视频的录制和音频的录制,代码中注释了比较容易出现的错误
例子引用isoviewer-1.0-RC-27.jar库,实现MediaRecorder录制视频的暂停与继续录制 ,demo中使用的是竖屏(4:3)录制,解决了竖屏时预览横向显示,同时,录制成功之后,写了一个SurfaceView进行播放。
使用MediaRecorder实现视频录制,以实现的功能包括:录制开始、录制暂停和计时,播放功能暂时没有,以后如果有机会补上。注意除了在AndroidManifest.xml文件中申请权限外,还需要手动开启存储和相机权限,否则真机...
根据自定义布局大小实现视频录制,不是调用全屏的摄像头
使用MediaRecorder实现在录制视频并压缩解码。
Android中使用MediaRecorder进行录像详解(视频录制)_IT168文库.pdf 文档的类型是pdf的。不能复制。
Android AudioRecord和MediaRecorder录音并实现了实时获取音量大小 看代码就知道了
Android使用AudioRecord录制PCM音频、PCM转AAC、使用MediaRecorder直接录制AAC编码音频
Android MediaRecorder 添加一个系统服务后台自动录视频,该服务能自动循环录取视频,可分多个视频文件录制,当空间不足时,会先删除一个最早录制到视频后在循环录制视频
简单的录音以及播放处理;mediaRecorder以文件形式录制,由mediaplayer播放。
MediaRecorder和AudioRecord都可以录制音频,区别是MediaRecorder录制的音频文件是经过压缩后的,需要设置编码器。并且录制的音频文件可以用系统自带的Music播放器播放。 而AudioRecord录制的是PCM格式的音频文件,...
资源里面有个JAVA文件,导入那个类,根据文档描述的去调用那个类,来实现在android上录制wav格式的录音
录制无声视频 使用 MediaRecorder API 在 Android 设备(谷歌眼镜)上录制无声视频