加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

微信小程序 模拟打电话 实践

发布时间:2020-12-14 19:04:37 所属栏目:资源 来源:网络整理
导读:模拟电话 模拟打电话功能,拨下指定的号码如10086,等待1.5秒后开始播放本地音频文件并计时。使用小程序官方API createInnerAudioContext()创建 InnerAudioContext对象。 小程序官方推荐使用更为强大的音频上下文对象InnerAudioContext,官方已经停止了对组

模拟电话

模拟打电话功能,拨下指定的号码如10086,等待1.5秒后开始播放本地音频文件并计时。使用小程序官方API createInnerAudioContext()创建 InnerAudioContext对象。

小程序官方推荐使用更为强大的音频上下文对象InnerAudioContext,官方已经停止了对组件的维护。上述这个demo效果的具体实现,如下代码:

  1. <template>
  2. "call">
  3. "top"wx:if"{{phone.length > 0}}">
  4. "tip""{{calling}}">
  5. wx:else{{formatMmSs}}</view>
  6. </view>
  7. "middle">
  8. "row">
  9. 1</view>
  10. 2'3'3>
  11. 4</view>
  12. 5</view>
  13. 6</view>
  14. '7'7'8'8'9'9'*'*'0'0'#'#</view>
  15. <imagesrc"{{img.ringIcon1}}"></image>
  16. ></image>
  17. 免提<!-- 底部区域 -->
  18. ></image>
  19. ></image>
  20. </image>
  21. </template>
import wepy from 'wepy'
  • config = {
  • data {
  • phone'' // 10086
  • calling// 是否拔通电话
  • seconds 0// 计时
  • computed {
  • formatMmSs() returnthismmss(seconds)
  • }
  • mmss(count){
  • let mm Mathfloorcount /60)
  • ifmm <10 mm '0'+ mm
  • ':' ss
  • // 音频上下文
  • mixWithOther// 终止其他应用或微信内的音乐
  • })
  • ctxsrc '/assets/media/10086.mp3'
  • onPlay(()=>{
  • )
  • onError((reserrMsg)
  • ctx ctx
  • numClicketargetdatasetnum)
  • phone num
  • handletypeswitch{
  • :
  • !=='10086' wepyshowToast({ title'请拔打10086' icon'none'})
  • calling true
  • // 延迟1.5秒后开始计时,并播放音频文件
  • timer setInterval{
  • seconds 1
  • 1000)
  • 'cancel':
  • clearIntervaltimerseek(0)
  • ''
  • 0
  • // 删除电话号码的最后一位
  • let arr phonesplit arrpop arrjoinbreak
  • :
  • true
  • defaultbreak
  • }
  • task   position absolute;
  • bottom;
  • right;
  • background rgba1);
  • call position;
  • top48rpx;
  • right color #FDFDFD;
  • nums row width540rpx marginauto height158rpx overflownum float left margin30rpx width120rpx height borderradius50%;
  • text line font60rpx color black}
  • // 免提等
  • }
  • 68rpxbottom 940rpxbtn displayinlineblock border%;

  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    • 推荐文章
        热点阅读