1.22Android 学习+进度之二十二-语音与发送
来源:互联网 发布:ubuntu安装非自由软件 编辑:程序博客网 时间:2024/06/05 15:43
折腾一下语音发送。其实思路应该是简单的吧,既然图片可以存,语音也就存,然后发就行了。主要看看怎么放,大小如何这些。
总结下做法。
1:利用MediaRecorder、MediaPlayer两个类,进行音频的记录和播放。
2:要加权限。
<!-- 音频权限 --> <uses-permission android:name="android.permission.RECORD_AUDIO"/>3:记录,主要分为,设置各类参数(编码方式,位置等):
m_voiceName = String.format("%1$tY-%1$tm-%1$td %1$tH-%1$tM-%1$tS %1$tL", new Date())+".3gp"; /** 设置语音参数*/ mRecorder = new MediaRecorder(); mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); mRecorder.setOutputFile(Environment.getExternalStorageDirectory().toString() +"/Pictures/CGF/" + m_voiceName); mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); try { mRecorder.prepare(); } catch (IOException e) { e.printStackTrace(); } mRecorder.start();4:播放,只要设置路径就能播放了。
5:为了能在Socket进行传递,把音频文件读取为二进制文件,然后转成String类,发送。接收端String转二进制文件,写入到文件中,再用mediaPlayer播放。整体思路为如此。
6:一个tip:在测试中,同样的代码在Android4.0的samsung能跑,但是再5.0的Nokia不能跑,经过反复研究,出现这个现象是,在文件命名中不能出现“:”(我是时间中有分号)。但是百度查阅,大家的情况不太一样,有的没有分号也会有这个问题,总之文件名简单点,一般都是没事的。
语音不方便截图,就先这样吧。记录完毕
阅读全文
0 0
- 1.22Android 学习+进度之二十二-语音与发送
- 1.21Android 学习+进度之二十一-拍照和发送
- 1.19Android 学习+进度之十九-图片和语音
- 1.12Android 学习+进度之十二-聊天UI升级
- 1.2Android 学习+进度之二
- 1.4Android 学习+进度之四-socket发送object
- Android 学习笔记 二十二 之Handler
- 1.20Android 学习+进度之二十-图片进一步
- 1.23Android 学习+进度之二十三-同步和分析
- 1.26Android 学习+进度之二十六-音频聊天
- Android之UI学习篇十二:ListView控件学习(二)
- Android学习笔记二十二之ViewFlipper&&AdapterViewFlipper
- Android学习笔记二十二之ViewFlipper&&AdapterViewFlipper
- 1.24Android 学习+进度之二十三-聊天界面修改及增加配置界面
- 1.25Android 学习+进度之二十五-小修小补及完工
- 1.27Android 学习+进度之二十七-视频聊天(硬编解码)
- javaee学习之路(二十二)JavaMail
- Redis学习记录之Server(二十二)
- 通用树的双亲表示法(代码演示))
- [CLI]tcpdump过滤小结
- linux -- 进程的查看、进程id的获取、进程的杀死 进程查看
- Nginx--官网中文翻译(中英文对比)--1-新手指南Beginner’s Guide
- MYSQL中创建存储过程实现向表中循环插入数据
- 1.22Android 学习+进度之二十二-语音与发送
- Caffe: Faster-RCNN Python版本配置 (Windows)
- 八大排序算法之插入排序
- 使用DataBinding来进行字体的自定义
- noi 02:同行列对角线的格子
- 优雅设计封装基于Okhttp3的网络框架(五):多线程、单例模式优化 及 volatile、构建者模式使用解析
- 性能-MySQL Profiling 的使用
- Android NDK支持STL的一些注意事项
- Windows:常规快捷键 & 运行快捷命令