全网整合营销服务商

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

免费咨询热线: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 


相关文章: 建站之星如何实现五合一智能建站与营销推广?  建站之星代理商如何保障技术支持与售后服务?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  如何通过虚拟主机快速完成网站搭建?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  网站制作模板下载什么软件,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小时内与您取得联系。