android 通过MediaRecorder实现简单的录音示例

整理文档,搜刮出一个android 通过MediaRecorder实现简单的录音示例,稍微整理精简一下做下分享。

MainActivity

package com.centaur.collectvoice; import android.media.MediaRecorder; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Toast; import java.io.File; import java.io.IOException; public class MainActivity extends AppCompatActivity { private final static String TAG = "collectvoice"; MediaRecorder mediaRecorder = new MediaRecorder(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 开始按钮 * @param view * @throws IOException */ public void onStart(View view) throws IOException { Toast.makeText(this, "开始收集", Toast.LENGTH_SHORT).show(); // 第1步:设置音频来源(MIC表示麦克风) mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); //第2步:设置音频输出格式(默认的输出格式) mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); //第3步:设置音频编码方式(默认的编码方式) mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); //创建一个临时的音频输出文件 // audioFile = File.createTempFile("record_", ".amr"); if (FileUtils.makeFolder("VOICE")){//一个简单的判断文件夹是不是存在 不存在就创建 String path = Environment.getExternalStorageDirectory().toString() + "/" + "VOICE/"; String filePath =path+"record_.amr"; File file = new File(filePath); //第4步:指定音频输出文件 mediaRecorder.setOutputFile(file.getAbsolutePath()); //第5步:调用prepare方法 mediaRecorder.prepare(); //第6步:调用start方法开始录音 mediaRecorder.start(); } } /** * 关闭按钮 * @param view */ public void onStop(View view) { Toast.makeText(this, "停止收集", Toast.LENGTH_SHORT).show(); mediaRecorder.stop(); } }

工具类中用到的方法

public static boolean makeFolder(String folder){ File filefolder = new File(Environment.getExternalStorageDirectory().toString() + "/" + folder); if(!filefolder.exists()){ filefolder.mkdir(); if(filefolder.exists()){ Log.d(TAG,folder+"创建成功"); } else { Log.d(TAG,folder+"创建失败"); } } return true; }

布局文件

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.centaur.collectvoice.MainActivity"> <Button android:onClick="onStart" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="收集声音" /> <Button android:onClick="onStop" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="停止声音" /> </LinearLayout>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-10-01 19:24:17

android 通过MediaRecorder实现简单的录音示例的相关文章

Android实现的简单蓝牙程序示例_Android

本文实例讲述了Android实现的简单蓝牙程序.分享给大家供大家参考,具体如下: 我将在这篇文章中介绍了的Android蓝牙程序.这个程序就是将实现把手机变做电脑PPT播放的遥控器:用音量加和音量减键来控制PPT页面的切换. 遥控器服务器端 首先,我们需要编写一个遥控器的服务器端(支持蓝牙的电脑)来接收手机端发出的信号.为了实现这个服务器端,我用到了一个叫做Bluecove(专门用来为蓝牙服务的!)的Java库. 以下是我的RemoteBluetoothServer类: public class

《Android应用开发攻略》——1.14 程序:简单的CountDownTimer示例

1.14 程序:简单的CountDownTimer示例 Wagied Davids1.14.1 问题 你打算开发一个简单的倒计时定时器,该程序将倒数给定的秒数,直到计数为0.1.14.2 解决方案 Android自带一个用于构建CountDownTimer的类.该类很易用.高效并且能够正常工作(这是不言而喻的!).1.14.3 讨论 提供倒计时定时器的步骤如下: 1 . 创建CountDownTimer的子类.该类的构造器有两个参数:CountDownTimer(long millisInFut

Android 游戏开发入门简单示例_Android

 在Android系统上开发游戏是Android开发学习者所向往的,有成就感也有乐趣,还能取得经济上的报酬.那怎样开发Android游戏呢?下面介绍一个简单的入门实例.        一.创建新工程        首先,我们在Eclipse中新建一个名为Movement的工程,并且选择合适的Android SDK,在这里,我们选用的API是比较低的1.5版本,这样可以让其适应性更强.接下来,我们新建两个类,一个是UpdateThread类,一个是SurfaceView类,它们在项目中分别是负责处

Android编程之View简单学习示例_Android

本文实例讲述了Android编程之View简单学习示例.分享给大家供大家参考,具体如下: View,是Android的一个超类,这个类几乎包含了所有的屏幕类型.每一个View都有一个用于绘图的画布,这个画布可以进行任意扩展. 在游戏开发中叶可以自定义视图(View),这个画布的功能更能满足我们在游戏开发中的需要.在Android中,任何一个View类都只需重写onDraw 方法来实现界面显示,自定义的视图可以是复杂的3D实现,也可以是非常简单的文本形式等. 游戏的核心是不断地绘图和刷新界面,An

Android音频录制MediaRecorder之简易的录音软件实现代码_Android

使用MediaRecorder的步骤:1.创建MediaRecorder对象2.调用MediRecorder对象的setAudioSource()方法设置声音的来源,一般传入MediaRecorder.MIC3.调用MediaRecorder对象的setOutputFormat()设置所录制的音频文件的格式4.调用MediaRecorder对象的setAudioRncoder().setAudioEncodingBitRate(int bitRate).setAudioSamlingRate(i

Android音频录制MediaRecorder之简易的录音软件实现代码

使用MediaRecorder的步骤:1.创建MediaRecorder对象2.调用MediRecorder对象的setAudioSource()方法设置声音的来源,一般传入MediaRecorder.MIC3.调用MediaRecorder对象的setOutputFormat()设置所录制的音频文件的格式4.调用MediaRecorder对象的setAudioRncoder().setAudioEncodingBitRate(int bitRate).setAudioSamlingRate(i

Android编程之View简单学习示例

本文实例讲述了Android编程之View简单学习示例.分享给大家供大家参考,具体如下: View,是Android的一个超类,这个类几乎包含了所有的屏幕类型.每一个View都有一个用于绘图的画布,这个画布可以进行任意扩展. 在游戏开发中叶可以自定义视图(View),这个画布的功能更能满足我们在游戏开发中的需要.在Android中,任何一个View类都只需重写onDraw 方法来实现界面显示,自定义的视图可以是复杂的3D实现,也可以是非常简单的文本形式等. 游戏的核心是不断地绘图和刷新界面,An

Android开发中ProgressDialog简单用法示例

本文实例讲述了Android开发中ProgressDialog简单用法.分享给大家供大家参考,具体如下: 网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主要的Activity ProgressBarDemo.java package com.lveyo.android.demo.progressbar; import android.app.Ac

Android开发实现的简单媒体播放器功能示例

本文实例讲述了Android开发实现的简单媒体播放器功能.分享给大家供大家参考,具体如下: 一.概述: 因为播放视频需要很大的内存,所以必须使用surfaceview , surfaceview 里实现了双缓冲的功能, 二.全部代码: /** * @描述 使用surfaceview 创建视频 * @项目名称 App_Basic * @包名 com.example.basic.media * @类名 MediaPlayerActivity * @author chenlin * @date 201