仿微信发送语音消息的功能
2017-08-26 11:52
543 查看
微信的发送语音是有一个向上取消的,我们使用onTouchListener来监听手势,然后做出相应的操作就行了。
直接上代码:
定义一个ImageView,然后给它设置监听事件:
然后在清单文件中加上需要的权限就行了:
也可以在按下之后播放动画,显示正在录音,然后在抬起动作之后结束动画,这样就比较形象了。
直接上代码:
//语音操作对象 private MediaPlayer mPlayer = null; private MediaRecorder mRecorder = null; //语音文件保存路径 private String FileName = null;
FileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/soundrecord/amrsend.amr";
定义一个ImageView,然后给它设置监听事件:
@Override public 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" />
也可以在按下之后播放动画,显示正在录音,然后在抬起动作之后结束动画,这样就比较形象了。
相关文章推荐
- MessageDisplayKit 一个类似微信App的IM应用,拥有发送文字、图片、语音、视频、地理位置消息,管理本地通信录、分享朋友圈、漂流交友、摇一摇和更多有趣的功能。
- Android仿微信发送语音消息的功能及示例代码
- python模仿网页版微信发送消息功能
- C#开发之微信小程序发送模板消息功能
- Android仿微信发送语音消息动态提示,支持上滑取消发送
- OC模仿微信发送语音按钮功能
- C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)
- 微信smali反编译 语音消息转发功能
- Android仿微信语音消息的录制和播放功能
- C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)
- 关于 微信发送被动回复音乐消息 用户接收不到的问题
- android实现微信语音功能
- 【玩转微信公众平台之九】 第一个功能:消息自己主动回复
- 微信开发:客服接口向用户发送消息
- Java微信二次开发(二) Java微信文本消息接口请求与发送
- [Python]实现XMPP协议即时通讯发送消息功能
- 关于发送微信客服消息报44004错误的解决办法
- 微信开发-发送客服消息
- 微信公共服务平台开发(.Net 的实现)7-------发送图文消息