Android 使用MediaRecorder录音
2024-08-27 09:44:49
package com.example.HyyRecord; 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.View; import java.io.File;
import java.io.IOException; public class MyActivity extends Activity {
private MediaRecorder mediaRecorder; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//首先要保证这个文件夹存在
File file = new File("/sdcard/0hyyRecord");
if (!file.exists()) {
file.mkdir();
}
mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setOutputFile("/sdcard/0hyyRecord/" + System.currentTimeMillis() + ".3pg"); } public void startRecord(View view) {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
try {
mediaRecorder.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mediaRecorder.start();
} else {
System.out.println("sd卡不可用");
}
} public void stopRecord(View view) {
mediaRecorder.stop();
mediaRecorder.reset();
} @Override
protected void onDestroy() {
try {
mediaRecorder.release();
} catch (Exception e) {
e.printStackTrace();
}
super.onDestroy();
} }
界面文件:
<?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"
>
<Button android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="开始录音"
android:onClick="startRecord"
/> <Button android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="停止录音"
android:onClick="stopRecord"
/> </LinearLayout>
最新文章
- iPhone 6 (iOS 9.2) extractiion failed by XRY
- 从PHPCMS、帝国CMS谈站长如何选择适合自己的CMS
- 使用jQuery来检测远程图片文件是否存在
- Ajax基础知识(二)
- SpringBoot Test集成测试
- ArcGIS注册数据库问题分析
- mysql 日期 字符串
- 如何用jmeter进行数据库性能测试
- javascript 数组的简单应用
- Eclipse搭建SSH框架(Struts2+Spring+Hibernate)
- Django框架(一)
- Java设计模式六大原则之场景应用分析
- Android开发-- findViewById()方法得到空指针
- 【BZOJ5146】有趣的概率 概率+组合数(微积分)
- [转] libcurl异步方式使用总结(附流程图)
- 分析(function(window, undefined) {})(window)
- windows rails new demo时候出错Make sure that `gem install mysql2 -v &#39;0.3.15&#39;` succeeds before bundling.
- log4net 使用笔记
- Django学习笔记之Models与ORM操作
- JS中立即执行函数的理解
热门文章
- 配置drbd高可用集群
- NSS_07 extjs中grid在工具条上的查询
- CentOS 6.X安装LAMP最高版本环境
- wordpress修改固定链接及修改链接后链接提示404错误的解决办法
- SequoiaDB数据库的一般概念介绍
- Asp.net MVC知识积累
- Jquer Ajax xmlhttp请求成功了,为什么一直在error函数里面
- ALTER TABLE causes auto_increment resulting key &#39;PRIMARY&#39;
- 序列化form表单内容为json对象
- Java Day 05