前端页面布局代码

描述:@longpress是uniapp的事件,长按时触发的事件,@touchend事件可以监听松开按钮时触发的。

 <!-- 上传语音 --><view class="Voice_input audiodiv" ><text class="Voice_title">语音输入:</text><view class="Voice_Btn"><!-- <view class="speak_btn" > --><button v-if="ifshowrecordbtn" @longpress="touchdown" @touchend="touchup"  style="width:500rpx;height:66rpx"   class="talkbtn">{{speak}}</button><!-- </view> --><button v-else class="talkbtn talkbtn2"  style="width:500rpx;height:66rpx"  @tap="recordagain">{{recordtimeshow}} S</button><audio class="showaudio" :src="audioSrc" id="myAudio"  controls :poster="poster"></audio></view></view>

css样式

/* 语音输入 */.Voice_input{border-bottom: 1px solid rgba(215,215,215,0.50);}.audiodiv{padding-bottom: 50px;}.Voice_title{height: 41px;line-height: 41px;font-family: PingFangSC-Regular;font-size: 16px;color: #1F1F26;}.speak_btn{width: 178px;height: 30px;background-image: linear-gradient(180deg, #FFFFFF 0%, #F1F1F1 100%);border: 1px solid #E8E8E8;border-radius: 15.5px;margin: 0 auto;text-align: center;line-height: 30px;font-family: PingFangSC-Regular;font-size: 14px;color: #AAAAAA;text-align: center;margin-bottom: 15px;}.talkbtn{color: #cccccc;font-size: 11px;border: 1rpx solid #cccccc;border-radius: 40rpx;margin-top: 5px;position: absolute;left: 50%;transform:translate(-50%,0);background: #f2f6fa;}.showaudio{position: fixed;left: 800rpx;top: 0;width: 213px;height: 28px;}

js部分

methods:{// 按住说话starttouchdown:function(){this.speak='正在录音'recorderManager.start({duration: 60000,//录音的时长,单位 mssampleRate: 16000, //采样率,有效值 8000/16000/44100numberOfChannels: 1, //录音通道数,有效值 1/2encodeBitRate: 96000, //编码码率format: 'mp3', //音频格式,有效值 aac/mp3frameSize: 50, //指定帧大小audioSource: 'auto' //指定录音的音频输入源,可通过 wx.getAvailableAudioSources() 获取})console.log('录音开始')},//停止录音touchup: function (e) {this.speak='按住说话',this.ifshowrecordbtn=falserecorderManager.stop()console.log('录音结束')},recordagain:function(){let that = this;uni.showModal({title: '提示',content: '试听或者删除录音',confirmText: "试听",//这块是确定按钮的文字cancelText:"删除",//这块是取消的文字success (res) {if (res.confirm) {that.recordplay();} else if (res.cancel) {that.recordtimeshow=0,that.ifshowrecordbtn=true}}})},ss_to_s:function(ss){return (ss/1000).toFixed(0);},//点击播放录音recordplay: function () {var that = thisthat.audioCtx.play()},//按住说话end
}
声明关于录音的apionReady() {var that = thisthat.audioCtx = uni.createAudioContext('myAudio')
},
录音授权等相关操作
onLoad() {this.ctx = uni.createCameraContext()uni.authorize({scope: "scope.record",success: function() {console.log("录音授权成功");},fail: function() {console.log("录音授权失败");}})var that = this;//获取全局唯一的录音管理器 RecorderManager实例that.recorderManager = uni.getRecorderManager()that.recorderManager.onStop((res) => {console.log('res' + res);console.log('获取到文件路径:' + res.tempFilePath)console.log('duration' + res.duration)console.log('fileSize' + res.fileSize)that.audioSrc=res.tempFilePath,that.recordtimeshow=that.ss_to_s(res.duration)})that.recorderManager.onError((res) => {console.log('录音失败了!')})}

df

uniapp微信小程序实现按住说话功能相关推荐

  1. uniapp - 编译微信小程序项目的微信授权登录、获取微信手机号登录、最新版微信直接登录、手机与验证码登录的示例源码(适用于 uniapp 微信小程序项目,源代码直接开箱即用)超级详细的代码及注释

    效果图 uniapp 项目编译微信小程序,一些常见的登录方式及源代码,示例代码干净整洁无BUG拿来即用. 本文示例实现了 uniapp 微信小程序项目的登录功能,包含微信授权登录.获取微信手机号登录. ...

  2. uni-app 微信小程序 分享功能 传参 接收 与 调试

    uni-app 微信小程序 功能 传参 接收 与 调试 当使用微信小程序进行分享好友功能时,怎样能够联调,查看是否接收到参数,并在被分享人点进来的时候逻辑处理是否正确. 1.分享功能实现 分享给朋友 ...

  3. 【多人会议功能】uniapp - 微信小程序 - 腾讯云

    目的:uniapp微信小程序通过腾讯云实现多人会议功能. 效果展示: 功能实现: 前提条件: 注册腾讯云 账号,并完成 实名认证. 推拉流标签不支持个人小程序,要求申请的企业类微信小程序. 步骤一:开 ...

  4. uniapp微信小程序拨打电话功能

    uniapp微信小程序拨打电话功能 先上代码,可以直接拿过去用. <!-- h5部分 --><button @click="playphone()">< ...

  5. uniapp - [微信小程序] 超详细实时录音功能,录制外部声音及播放上传到服务器(支持录音完毕生成 mp3、试听音频(带进度条)、暂停录音、重新录音、限制录音最大时长、自定义音频名称等功能)

    前言 网上的教程都太乱了,功能不好用且一堆 BUG,没有注释很难改造示例为自己用. 本文实现了 uniapp 微信小程序平台,授权麦克风进行录音并保存为音频的功能,内置播放器可播放录音文件, 您直接复 ...

  6. uni-app 微信小程序 模仿 app二层楼功能

    uni-app 微信小程序 模仿 app二层楼功能 先占个坑,今天应该写不完, 后续在慢慢补全 更新 终于写完了 这个的计算量很大,我自己的安卓机测试的时候一卡一卡的,公司同事的iphone是没有问题 ...

  7. uniapp - 微信小程序接入腾讯视频播放器功能插件,uniapp开发微信小程序端调用引入并使用腾讯视频播放组件完整全流程(详细示例源码,一键复制开箱即用)

    效果图 在uniapp 微信小程序项目中,集成腾讯视频功能插件,实现播放腾讯视频效果,附带详细示例源码及注释, 你可以跟着步骤一步步来,保证几分钟就能快速在uniapp小程序项目中植入腾讯视频功能! ...

  8. 【大白话学习】UniApp 微信小程序与APP应用 开发零基础入门教程(七)---登陆注销功能与微信小程序测试号的申请

    到此为止,我们只差一个退出登陆功能了. 回到index.vue页面,之前我们已经预留了退出按钮,现在给它加上功能 <button class="mybutton" type= ...

  9. 【大白话学习】UniApp 微信小程序与APP应用 开发零基础入门教程(一)---基础页面框架搭建

    写在前面话: 随着互联网的快速发展,微信小程序应用的快速便捷,不用下载安装等的优势越来越明显,于是,我就开始着手于小程序开发的学习,虽然微信提供了开发工具,但它只能生成小程序 ,不能生成APP,那么有 ...

最新文章

  1. 关于matlab鼠标响应
  2. spring cloud中通过配置文件自定义Ribbon负载均衡策略
  3. 我们一直使用的管理系统oner
  4. Linux安全移除U盘,Windows 10用户可以快速移除U盘
  5. no.7_qzhai 开心版_开心宝贝GM版下载-开心宝贝GM版安卓下载
  6. 自动驾驶车辆转向控制(通过扭矩控制实现方向盘转角控制)
  7. Bounce(弹走绵羊)lct裸题
  8. android检查可用网络的代码
  9. 2、生成一个PHP扩展框架
  10. 变量定义类型长度的理解
  11. AI换脸APP“ZAO”刷屏并一夜爆火,它能红多久?
  12. 教你如何处理Zabbix添加key总是not supported
  13. IIS 7.5 URL重写参数
  14. Linux网卡驱动教程,linux | 网卡驱动
  15. Android取手机号码
  16. LayUI树形表格treetable使用详解
  17. C++学习(四九二)cmake file的GLOB和GLOB_RECURSE
  18. matlab 怎么打开.p文件,matlab p文件肿么打开 或者 运行
  19. 洛谷 P4238 【模板】多项式求逆 ntt
  20. android /linux休眠与唤醒(一)

热门文章

  1. 华为语音解锁设置_华为手机该怎么实现语音翻译?其实超级简单,这里教你
  2. Docker版本变化说明
  3. 东杰转债上市价格预测
  4. CSS3之边框图片border-image
  5. Go语言 编写代码统计出字符串中汉字的数量
  6. Hexo个人博客搭建教程
  7. 伸缩门遥控器c语言程序,伸缩门遥控器匹配方法是什么呢? 如何学会电动门的遥控编码...
  8. 热力夏季运动会java,夏季运动会作文(精选8篇)
  9. 微信小程序云开发CMS中WebHook功能的使用方法
  10. 信息安全工程师学习笔记《第二章》