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
原创粉丝点击