全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android仿微信发送语音消息的功能及示例代码

微信的发送语音是有一个向上取消的,我们使用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 


相关文章: javascript基本数据类型及类型检测常用方法小结  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  专业网站建设制作报价,网页设计制作要考什么证?  建站之星后台密码如何安全设置与找回?  网页设计网站制作软件,microsoft office哪个可以创建网页?  如何在西部数码注册域名并快速搭建网站?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  非常酷的网站设计制作软件,酷培ai教育官方网站?  公司网站的制作公司,企业网站制作基本流程有哪些?  在线制作视频网站免费,都有哪些好的动漫网站?  如何用美橙互联一键搭建多站合一网站?  网站微信制作软件,如何制作微信链接?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  高端建站如何打造兼具美学与转化的品牌官网?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何制作一个表白网站视频,关于勇敢表白的小标题?  定制建站价位费用解析与套餐推荐全攻略  如何通过智能用户系统一键生成高效建站方案?  *服务器网站为何频现安全漏洞?  TestNG的testng.xml配置文件怎么写  香港服务器选型指南:免备案配置与高效建站方案解析  香港服务器部署网站为何提示未备案?  建站之星后台密码遗忘如何找回?  如何在IIS中新建站点并配置端口与物理路径?  建站之星安装模板失败:服务器环境不兼容?  如何使用Golang安装API文档生成工具_快速生成接口文档  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  ,柠檬视频怎样兑换vip?  如何通过山东自助建站平台快速注册域名?  如何高效配置IIS服务器搭建网站?  西安专业网站制作公司有哪些,陕西省建行官方网站?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  Python lxml的etree和ElementTree有什么区别  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  ,怎么在广州志愿者网站注册?  建站之星导航菜单设置与功能模块配置全攻略  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星Pro快速搭建教程:模板选择与功能配置指南  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  jQuery 常见小例汇总  手机网站制作与建设方案,手机网站如何建设?  如何破解联通资金短缺导致的基站建设难题?  微信小程序 input输入框控件详解及实例(多种示例)  如何注册花生壳免费域名并搭建个人网站?  如何获取开源自助建站系统免费下载链接?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何快速查询网址的建站时间与历史轨迹?  如何在Windows 2008云服务器安全搭建网站?  如何快速上传建站程序避免常见错误? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。