微信的发送语音是有一个向上取消的,我们使用onTouchListener来监听手势,然后做出相应的操作就行了。

直接上代码:
//语音操作对象 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" />
也可以在按下之后播放动画,显示正在录音,然后在抬起动作之后结束动画,这样就比较形象了。
总结
以上所述是小编给大家介绍的Android仿微信发送语音消息的功能及示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# android
# 微信发送语音消息
# Android Intent发送广播消息实例详解
# SpringBoot webSocket实现发送广播、点对点消息和Android接收
# Android之利用EventBus发送消息传递示例
# Android使用广播发送消息
# 小编
# 就行了
# 是有
# 在此
# 给大家
# 按下
# 所述
# 给它
# 给我留言
# 感谢大家
# 疑问请
# 有任何
# view
相关文章:
建站之星如何实现五合一智能建站与营销推广?
建站之星代理商如何保障技术支持与售后服务?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何通过虚拟主机快速完成网站搭建?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
网站制作模板下载什么软件,ppt模板免费下载网站?
c# 在ASP.NET Core中管理和取消后台任务
表情包在线制作网站免费,表情包怎么弄?
如何快速搭建二级域名独立网站?
建站主机核心功能解析:服务器选择与网站搭建流程指南
如何使用Golang安装API文档生成工具_快速生成接口文档
高端云建站费用究竟需要多少预算?
深入理解Android中的xmlns:tools属性
如何在香港免费服务器上快速搭建网站?
建站之星后台密码如何安全设置与找回?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
定制建站哪家更专业可靠?推荐榜单揭晓
黑客入侵网站服务器的常见手法有哪些?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
如何选择PHP开源工具快速搭建网站?
黑客如何通过漏洞一步步攻陷网站服务器?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
Android滚轮选择时间控件使用详解
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
已有域名如何快速搭建专属网站?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
建站之星导航配置指南:自助建站与SEO优化全解析
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
建站之星安全性能如何?防护体系能否抵御黑客入侵?
图册素材网站设计制作软件,图册的导出方式有几种?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
山东网站制作公司有哪些,山东大源集团官网?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
婚礼视频制作网站,学习*后期制作的网站有哪些?
焦点电影公司作品,电影焦点结局是什么?
红河网站制作公司,红河事业单位身份证如何上传?
建站org新手必看:2024最新搭建流程与模板选择技巧
如何快速生成可下载的建站源码工具?
C++时间戳转换成日期时间的步骤和示例代码
代刷网站制作软件,别人代刷火车票靠谱吗?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
如何通过VPS搭建网站快速盈利?
手机网站制作与建设方案,手机网站如何建设?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
电商网站制作公司有哪些,1688网是什么意思?
智能起名网站制作软件有哪些,制作logo的软件?
如何确保西部建站助手FTP传输的安全性?
*请认真填写需求信息,我们会在24小时内与您取得联系。