仿微信发送语音消息的功能
来源:互联网 发布:80端口被攻击 编辑:程序博客网 时间:2024/06/04 19:22
微信的发送语音是有一个向上取消的,我们使用onTouchListener来监听手势,然后做出相应的操作就行了。
直接上代码:
//语音操作对象private MediaPlayer mPlayer = null;private MediaRecorder mRecorder = null;//语音文件保存路径private String FileName = null;
FileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/soundrecord/amrsend.amr";
定义一个ImageView,然后给它设置监听事件:
@Overridepublic boolean onTouch(View view, MotionEvent motionEvent) { switch (motionEvent.getAction()) { case MotionEvent.ACTION_DOWN: beginX = motionEvent.getX(); beginY = motionEvent.getY(); Log.e("MainActivity", "beginX:" + beginX); Log.e("MainActivity", "beginY:" + beginY); Log.e("MainActivity", "ACTION_DOWN"); mRecorder = new MediaRecorder(); mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); mRecorder.setOutputFile(FileName); mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); try { mRecorder.prepare(); } catch (IOException e) { Log.e("MainActivity", "prepare() failed" + e); } mRecorder.start(); break; case MotionEvent.ACTION_UP: finalX = motionEvent.getX(); finalY = motionEvent.getY(); Log.e("MainActivity", "finalX:" + finalX); Log.e("MainActivity", "finalY:" + finalY); Log.e("MainActivity", "ACTION_UP"); mRecorder.stop(); mRecorder.release(); mRecorder = null; if ((beginY - finalY) > 50) { Log.e("MainActivity", "执行删除"); new File(FileName).delete(); Log.e("MainActivity", "执行删除后文件是否还存在:" + new File(FileName).exists()); } break; default: break; } return true;}
然后在清单文件中加上需要的权限就行了:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.RECORD_AUDIO" />
也可以在按下之后播放动画,显示正在录音,然后在抬起动作之后结束动画,这样就比较形象了。
阅读全文
0 0
- 仿微信发送语音消息的功能
- C#发送消息功能的内涵方法:
- android开心网语音发送模块的录音功能
- 仿微信语音功能的流程
- Android仿微信发送语音消息动态提示,支持上滑取消发送
- 仿微信语音消息的录制和播放
- Socket的TCP、UDP通讯(实现功能:文字发送,窗口震动,大文件传输,语音发送,语音通话、直接发送全屏截图)
- 发送消息执行记事本的“另存为”菜单功能
- XMPP 发送语音的方法
- MessageDisplayKit 一个类似微信App的IM应用,拥有发送文字、图片、语音、视频、地理位置消息,管理本地通信录、分享朋友圈、漂流交友、摇一摇和更多有趣的功能。
- OMACP功能说明以及自己做的一个模拟发送OMACP消息的功能类
- html5的语音输入功能
- 蓝牙语音功能的实现
- 获得语音播报的功能
- 蓝牙语音功能的实现
- 百度的语音合成功能
- 发送的消息
- Handler的发送消息
- 【FFmpeg学习笔记006】 PCM编码为AAC
- zzuli 2186 我觉得我还可以优化一下【矩阵快速幂*好题】
- MongoDB安装
- hdu 5901 (1-n 素数个数)
- Sebastian Thrun 的一席演讲, 精辟的道出: 人工智能与人类间的关系
- 仿微信发送语音消息的功能
- Property Animation(属性动画)
- [NOIP2017模拟]art2
- 深度学习-超参数和交叉验证
- Linux安装svn服务器
- ubuntu设置中文环境
- TensorFlow学习笔记3——变量共享
- 1284:闰年
- LAMP调优(一)之版本隐藏和错误页面显示处理