Android中实现录音功能其实很简单,直接调用的系统的就ok了,这里就不写实现的原理了,直接部署代码:所谓的实现就是用的MediaRecorder。服务器

录音功能代码:ide

//开始录制

private void startRecord(){

if(mr == null){

File dir = new File(Environment.getExternalStorageDirectory(),"sounds");

if(!dir.exists()){

dir.mkdirs();

}

File soundFile = new File(dir,"abner"+".amr");//存储到SD卡固然也可上传到服务器

if(!soundFile.exists()){

try {

soundFile.createNewFile();

} catch (IOException e) {

e.printStackTrace();

}

}

mr = new MediaRecorder();

mr.setAudioSource(MediaRecorder.AudioSource.MIC);  //音频输入源

mr.setOutputFormat(MediaRecorder.OutputFormat.AMR_WB);   //设置输出格式

mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);   //设置编码格式

mr.setOutputFile(soundFile.getAbsolutePath());

try {

mr.prepare();

mr.start();  //开始录制

} catch (IOException e) {

e.printStackTrace();

}

}

}编码

中止语音功能:spa

//中止录制,资源释放

private void stopRecord(){

if(mr != null){

mr.stop();

mr.release();

mr = null;

}

}code

播放语音功能:orm

File dir = new File(Environment.getExternalStorageDirectory(),"sounds");

if(!dir.exists()){

dir.mkdirs();

}

File soundFile = new File(dir,"abner.amr");

if(!soundFile.exists()){

return;

}

MediaPlayer mediaPlayer=new MediaPlayer();

try {

mediaPlayer.setDataSource(soundFile.getAbsolutePath()+"");

mediaPlayer.prepareAsync();

mediaPlayer.start();

mediaPlayer.setOnCompletionListener(new OnCompletionListener() {

@Override

public void onCompletion(MediaPlayer mp) {

mp.release();

}

});

} catch (Exception e) {

e.printStackTrace();

}

}资源

android中实现录音功能,Android实现录音功能及播放语音功能相关推荐

  1. android中textcolor属性,android – EditText和TextView textColorPrimary不遵循API lt;21的主题颜色...

    在设计工具栏视图以使其适用于API 21及以下版本时存在一些问题,但我认为我有这个styles.xml @color/colorPrimary @color/colorPrimaryDark @col ...

  2. android中px单位,android中像素单位dp、px、pt、sp的比较

    dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖 ...

  3. android中内存泄露,Android中的内存泄露

    编辑推荐: 本文来自于csdn,本文主要从java的内存模型讲起,最终举出几个内存泄露的例子和解决方案. java运行时内存模型 具体信息:http://gityuan.com/2016/01/09/ ...

  4. android中的 listview,Android中ListView的初步认识(一)

    ListView是安卓开发中常用的组件之一,它的作用是在一个垂直的列表中展现出所需的项目.接下来,我们看一下ListView的实现方法: 第一种 是常见的在XML中定义然后在activity中使用fi ...

  5. android中viewpager+fragment,Android开发之ViewPager+Fragment

    使用步骤 1.Activity的布局文件 android:id="@+id/viewpager" android:layout_width="wrap_content&q ...

  6. Matrix: android 中的Matrix (android.graphics.Matrix) (转)

    本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放.旋转.位移.倾斜等.在最后将以一个简单的Demo来演示图片特效的变换. 1. Matrix概述 对于一个图片变换的处理,需要Ma ...

  7. android ffmpeg 优点_在Android中使用FFmpeg(android studio环境)

    1.首先我们需要一个已经编译好的libffmpeg.so文件.(怎么编译是个大坑,可以参考windows环境下编译android中使用的FFmpeg,也可以用网上下载的现成的,本文相关的github项 ...

  8. android中自定义 toast,android 自定义Toast样式和显示方式

    问题: 1.android 开发中如果不停的触发显示Toast,会造成Toast一个接一个的弹出,非常影响用户体验. 2.android设备有千万个,每个设备的Toast的背景有可能不一样,造成在应用 ...

  9. android中搜索对话框,android – 如何使用onSearchRequested()调用搜索对话框

    我正在尝试实现搜索对话框,我无法显示活动中的搜索. 我在我的清单文件中定义了我的主要活动,此活动向用户显示他们必须选择的选项列表.其中一个选项是"搜索"选项. android:na ...

最新文章

  1. libgdx 3D 测试一
  2. ux设计_UX设计101:
  3. NET Core微服务之路:基于Ocelot的API网关Relay实现--RPC篇
  4. RS485光纤中继器有哪些优缺点?
  5. oracle 数据导入 mysql_oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)...
  6. Print2flash在.NET(C#)64位中的使用,即文档在线预览(转载)
  7. 英特尔核显自定义分辨率_核显也能60帧玩3A大作?原理很简单!8寸电脑掌机游戏测评...
  8. 输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)
  9. linux学习小记 (一 )
  10. 2021Java面经:史上最全的《Java面试题及解析》
  11. wps下一步快捷键_WPS快捷键大全
  12. elasticsearch 常见的概念
  13. elasticsearch报错:exceeds the [index.highlight.max_analyzed_offset] limit [1000000]
  14. uint8_t和char的相互转换
  15. eclipse中folder、source folder、package的区别及相互转换
  16. Kent Beck:敏捷和极限编程是关于Be Yourself
  17. win7计算机里没有桌面快捷方式,Win7桌面快捷方式图标消失的解决办法
  18. FPGA数字信号处理(四)Quartus FIR IP核实现
  19. paramiko使用
  20. 爬虫实战_爬取静态单张图片

热门文章

  1. Qt实现计算器(包含算术运算和逻辑运算),纯干货,一步步超详细过程
  2. edas上传pdf 失败
  3. 电子邮箱格式怎么写?你知道电子邮箱格式都有哪些吗?
  4. 模拟信号转PWM脉冲调宽大电流控制隔离放大器
  5. 知乎问答:为什么现在又流行服务器端渲染html?
  6. box-sizing: border-box;失效问题
  7. DLX 项目总结(Deluxe processor)
  8. shell脚本计时方法
  9. Eclipse导入jar包并查看源代码
  10. 华为发布操作系统鸿蒙,华为正式发布自研操作系统鸿蒙,面向AI全场景