没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
6页
在android中,实现录音与语音播放的功能算是比较简单的,但是作为参考,还是很有必要将语音相关的知识做一个简要的记录。 首先,在android中,支持录音支持两种方式。主要包括:字节流模式和文件流模式。用文件流模式进行录音操作比较简单,而且相对来说,因为其封装性比较好,录制下的文件也会比较小。但是相对于文件流模式,就没有字节流模式那么灵活,但是想要用好字节流模式还是需要下一点功夫的。 下面开始介绍文件流模式的语音操作: 文件流模式 我们来看录音部分的实现,首先我们实现开始录音的部分: 在正式编码之前,还是需要对其进行一个简要的说明。一般来说,录音功能的实现是在jin层,而在这一层中,是用
资源详情
资源评论
资源推荐
android语音即时通讯之录音、播放功能实现代码语音即时通讯之录音、播放功能实现代码
在android中,实现录音与语音播放的功能算是比较简单的,但是作为参考,还是很有必要将语音相关的知识做一个简要的记
录。
首先,在android中,支持录音支持两种方式。主要包括:字节流模式和文件流模式。用文件流模式进行录音操作比较简单,
而且相对来说,因为其封装性比较好,录制下的文件也会比较小。但是相对于文件流模式,就没有字节流模式那么灵活,但是
想要用好字节流模式还是需要下一点功夫的。
下面开始介绍文件流模式的语音操作:
文件流模式文件流模式
我们来看录音部分的实现,首先我们实现开始录音的部分:
在正式编码之前,还是需要对其进行一个简要的说明。一般来说,录音功能的实现是在jin层,而在这一层中,是用单线程实现
的。如果我们在编码的对录音api进行多线程操作,会导致程序直接闪退,并且我们是无法在java层对其异常进行捕获的。所
以,我们必须使用单线程以保证录音的正常运行。
一般来说,开始录音的步骤也就三个,代码如下:
releaseRecord();//释放可能没释放的录音相关资源
if (!doStartRecord()) {//真正的开始录音的函数,开始录音成功返回true,否则返回false
recordFail(); //开始失败,向用户提示开始录音失败
}
接下来我们来看看上述三个方法的实现:
实现是释放相关资源的方法releaseRecord:
if (mMediaRecorder != null) {
mMediaRecorder.release();
mMediaRecorder = null;
}
其中的mMediaRecorder 的MediaRecorder的全局变量。
接下来是真正实现开始录音的实现逻辑doStartRecord()
private boolean doStartRecord() {
try {
mMediaRecorder = new MediaRecorder();
mAudioFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/voice/"
+ System.currentTimeMillis() + ".m4a");
mAudioFile.getParentFile().mkdirs();
mAudioFile.createNewFile();
//设置从麦克风采集声音
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
//保存文件为mp4的格式
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
//设置所有android系统都支持的采样频率
mMediaRecorder.setAudioSamplingRate(44100);
//设置acc的编码方式
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
//设置比较好的音质
mMediaRecorder.setAudioEncodingBitRate(96000);
mMediaRecorder.setOutputFile(mAudioFile.getAbsolutePath());
mMediaRecorder.prepare();
mMediaRecorder.start();
mStartRecordTime = System.currentTimeMillis();
} catch (IOException | RuntimeException e) {
e.printStackTrace();
weixin_38677244
- 粉丝: 5
- 资源: 1004
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0