android中实现录音功能,Android实现录音功能及播放语音功能
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实现录音功能及播放语音功能相关推荐
- android中textcolor属性,android – EditText和TextView textColorPrimary不遵循API lt;21的主题颜色...
在设计工具栏视图以使其适用于API 21及以下版本时存在一些问题,但我认为我有这个styles.xml @color/colorPrimary @color/colorPrimaryDark @col ...
- android中px单位,android中像素单位dp、px、pt、sp的比较
dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖 ...
- android中内存泄露,Android中的内存泄露
编辑推荐: 本文来自于csdn,本文主要从java的内存模型讲起,最终举出几个内存泄露的例子和解决方案. java运行时内存模型 具体信息:http://gityuan.com/2016/01/09/ ...
- android中的 listview,Android中ListView的初步认识(一)
ListView是安卓开发中常用的组件之一,它的作用是在一个垂直的列表中展现出所需的项目.接下来,我们看一下ListView的实现方法: 第一种 是常见的在XML中定义然后在activity中使用fi ...
- android中viewpager+fragment,Android开发之ViewPager+Fragment
使用步骤 1.Activity的布局文件 android:id="@+id/viewpager" android:layout_width="wrap_content&q ...
- Matrix: android 中的Matrix (android.graphics.Matrix) (转)
本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放.旋转.位移.倾斜等.在最后将以一个简单的Demo来演示图片特效的变换. 1. Matrix概述 对于一个图片变换的处理,需要Ma ...
- android ffmpeg 优点_在Android中使用FFmpeg(android studio环境)
1.首先我们需要一个已经编译好的libffmpeg.so文件.(怎么编译是个大坑,可以参考windows环境下编译android中使用的FFmpeg,也可以用网上下载的现成的,本文相关的github项 ...
- android中自定义 toast,android 自定义Toast样式和显示方式
问题: 1.android 开发中如果不停的触发显示Toast,会造成Toast一个接一个的弹出,非常影响用户体验. 2.android设备有千万个,每个设备的Toast的背景有可能不一样,造成在应用 ...
- android中搜索对话框,android – 如何使用onSearchRequested()调用搜索对话框
我正在尝试实现搜索对话框,我无法显示活动中的搜索. 我在我的清单文件中定义了我的主要活动,此活动向用户显示他们必须选择的选项列表.其中一个选项是"搜索"选项. android:na ...
最新文章
- libgdx 3D 测试一
- ux设计_UX设计101:
- NET Core微服务之路:基于Ocelot的API网关Relay实现--RPC篇
- RS485光纤中继器有哪些优缺点?
- oracle 数据导入 mysql_oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)...
- Print2flash在.NET(C#)64位中的使用,即文档在线预览(转载)
- 英特尔核显自定义分辨率_核显也能60帧玩3A大作?原理很简单!8寸电脑掌机游戏测评...
- 输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)
- linux学习小记 (一 )
- 2021Java面经:史上最全的《Java面试题及解析》
- wps下一步快捷键_WPS快捷键大全
- elasticsearch 常见的概念
- elasticsearch报错:exceeds the [index.highlight.max_analyzed_offset] limit [1000000]
- uint8_t和char的相互转换
- eclipse中folder、source folder、package的区别及相互转换
- Kent Beck:敏捷和极限编程是关于Be Yourself
- win7计算机里没有桌面快捷方式,Win7桌面快捷方式图标消失的解决办法
- FPGA数字信号处理(四)Quartus FIR IP核实现
- paramiko使用
- 爬虫实战_爬取静态单张图片