本文重度参考了此文,只是

1、将线性布局改为相对布局

2、将原文播放录音的自定义类改为安卓自带MediaPlayer而已

3、加上运行效果截图

main.xml(布局文件)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".RecordVoice"><Buttonandroid:id="@+id/start"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:text="start" /><Buttonandroid:id="@+id/stop"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:text="stop" /><Buttonandroid:id="@+id/play"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/start"android:layout_centerHorizontal="true"android:text="play" /></RelativeLayout>

RecordVoice (具体录音实现)

package com.xxgroup.xx.speechclient;import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;import java.io.File;
import java.io.IOException;import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.media.MediaRecorder;
import android.media.MediaPlayer;public class RecordVoice extends ActionBarActivity implements OnClickListener {private Button btnStart;private Button btnStop;private Button btnPlay;private File recAudioFile;private MediaRecorder mRecorder;private MediaPlayer mPlayer;private static final String mSpeechPath = "/sdcard/RunJi/speech.amr";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_record_voice);btnStart = (Button) findViewById(R.id.start);btnStop = (Button) findViewById(R.id.stop);btnPlay = (Button) findViewById(R.id.play);btnStart.setOnClickListener(this);btnStop.setOnClickListener(this);btnPlay.setOnClickListener(this);recAudioFile = new File(mSpeechPath);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.start:startRecorder();break;case R.id.stop:stopRecorder();break;case R.id.play:playRecord();break;default:break;}}private void startRecorder() {mRecorder = new MediaRecorder();if (recAudioFile.exists()) {recAudioFile.delete();}mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);mRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);mRecorder.setOutputFile(recAudioFile.getAbsolutePath());try {mRecorder.prepare();} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}mRecorder.start();}private void stopRecorder(){if (recAudioFile!=null) {mRecorder.stop();mRecorder.release();}}private void playRecord(){mPlayer = new MediaPlayer();if (recAudioFile!=null) {try {mPlayer.setDataSource(mSpeechPath);mPlayer.prepare();}catch (IOException e){e.printStackTrace();}mPlayer.start();}}
}

在AndroidManifest.xml里 添加录音权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.xxgroup.xx.speechclient" ><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name=".RecordVoice"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-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /></manifest>

运行效果图

最精简的android录音app相关推荐

  1. android录音app 视频,月入 2 万案例分享:Android 音视频格式转换 App

    音视频格式转换 月收入¥2w 2013年开始 1个创始人, 1个员工 新加坡 音视频格式转换,只有安卓 请问你的背景是什么?最近在忙什么? 我叫 Sherry Yang, 是新加坡一名极客女生,在读大 ...

  2. 曝iPhone15或换用USB-C接口;Google将下架第三方Android通话录音APP|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  3. Android音频录制方案,Android录音,录制其他App播放的声音

    Android录音,录制其他App播放的声音 从Android10(SDK 29)版本开始,可以设置录音App的源为其他App,这样就可以录制其他App播放的声音 此方案有以下注意几点 设置了源为其他 ...

  4. android ui 录音机,盘点:简单好用的录音APP有哪些?

    原标题:盘点:简单好用的录音APP有哪些? 本文为「智活范」原创作品,欢迎关注我们! 前段时间去跟一个采访,因为过程中要录音,遂找人介绍了一款录音APP来用.当时用下来觉得录音体验没问题,但就是界面太 ...

  5. android ios 录音功能,盘点:简单好用的录音APP有哪些?

    原标题:盘点:简单好用的录音APP有哪些? 本文为「智活范」原创作品,欢迎关注我们! 前段时间去跟一个采访,因为过程中要录音,遂找人介绍了一款录音APP来用.当时用下来觉得录音体验没问题,但就是界面太 ...

  6. android sony录音app,系统自带录音可弃 这款APP能让手机录立体声

    原标题:系统自带录音可弃 这款APP能让手机录立体声 手机已经成为了很多朋友日常使用的录音工具,不过录音的效果却往往只能说是差强人意.一来,手机麦克风的收音性能有限:而来,系统自带的录音APP往往也造 ...

  7. Android 天气APP(三十四)语音搜索

    上一篇:Android 天气APP(三十三)语音播报 语音搜索 前言 正文 一.权限配置 二.用户体验优化 三.配置语音识别听写 四.语音搜索 五.地图天气添加语音搜索功能 六.城市搜索添加语音搜索功 ...

  8. Google 作恶!99.9% 的 Android 手机 App 都在窃取隐私

    隐私神经"不敏感"的中国人,还要继续无动于衷吗? <网络安全法>实施的第二年,成效初显,却也危机四伏.仅近半年,就有大量的 App 们,以前仆后继的英勇姿态在隐私安全的 ...

  9. Android 音乐APP(一)扫描本地音乐

    效果图 音乐APP 扫描本地音乐 前言 正文 ① 新建项目 ② 第三方依赖 ③ 权限和基础配置 ④ 页面设计 ⑤ 权限请求 ⑥ 获取音乐数据 ⑦ 数据显示 结语 前言   这个项目纯粹的就是心血来潮, ...

最新文章

  1. Zoom Capability
  2. Django视图层总结
  3. VBA经典常用语句400句
  4. Linux 配置iso系统盘为本地yum源
  5. OpenSSL 编程 - RSA 加密解密
  6. HDU 1874 畅通工程续
  7. c语言和plc编程,PLC编程C语言.ppt
  8. Vue.js响应式原理
  9. PAT 1012 数字分类 (20)
  10. java求正整数和_求连续正整数的和-Java
  11. 除非万不得已,否则绝不谈判
  12. Cisco协议学习笔记(VTP)
  13. 【Java基础】3、Java 位运算(移位、位与、或、异或、非)
  14. 2022华为杯研究生数学建模竞赛E题思路解析
  15. GB/T 7714-2005《文后参考文献著录规则》(精简)
  16. 车牌识别平台开源(支持蓝牌、绿牌,准确率高达96%)
  17. wintel联盟即将崩盘,微软联合芯片企业开发ARM架构芯片
  18. 计算机控制系统的数字量输出通道由,计算机控制-习题
  19. python|excel分列--部分分列(pandas,concat)
  20. 微信公众号(一) --- 开启微信公众号服务

热门文章

  1. Python-爬取天气和星座(自学)
  2. 注册义乌个体户无限制收汇结汇美金
  3. 【机器学习】聚类算法、社区发现
  4. 微信小程序-从无到有
  5. 测试代码(测试函数、测试类)
  6. JAVA通过身份证号码获取出生年月、年龄及性别
  7. 概率抽奖工具类(支持概率大于100抽奖)
  8. codeforces Round 21 808E. Selling Souvenirs 【dp好题】
  9. M1 MacBook air 配置tensorflow
  10. uniapp H5与原生安卓的数据互通和方法调用