首页 > 系统 > Android > 正文

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

2019-12-12 03:36:29
字体:
来源:转载
供稿:网友

整理文档,搜刮出一个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>

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表