• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

钉钉小程序中苹果手机/iphone/IOS端音频无法播放和音频每次播放速度都加快的原因及解 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

问题:

  1. 钉钉小程序的IOS端无法播放后台接口返回来的音频文件,但是文件在安卓端和模拟器端均可播放;

  2. 每次点击播放,音频播放速度加快一倍,导致音频无法听清;

原因:

  1. IOS端的dd.getBackgroundAudioManager()接口创建的音频管理器,manager.play()方法只能播放钉钉返回的临时的临时文件路径;

  2. 没有实例化音频的title和播放速度playbackRate。

解决方法:
第一个问题提交了工单询问客服,客服的回答是这样的:

方法是在播放之前,需要先将接口返回的文件下载,然后传入播放接口才能播放。

第二个问题在客服给我回复之前就解决了:

方法是实例化音频的title和播放速度playbackRate,最好也每次播放都重新实例化manager对象(记得手机端测试的时候一定要清除缓存关闭钉钉APP再重新启动!!!!);

附上代码片段:

    // 点击播放
    onInternalAudioTap() {
      dd.downloadFile({                           // 走dd下载接口
        url: detail.cYyms,                        // 参数url是从接口返回的音频链接detail.cYyms
        success: ({ filePath }) => {              // 下载成功后返回音频文件的临时路径filePath 
          let manager = dd.getBackgroundAudioManager();          、// 重新实例化manager对象    
          manager.src = filePath;                 // 将临时路径的值赋给manager的src 
          manager.playbackRate = 1;               // 指定播放速度为 1 
          manager.title = \'\';                     // 给每个音频重新赋值title, 防止IOS端重复调用play()使播放速度累加
          manager.play();                         // 播放
        },
        fail: (res) => {
          dd.showToast({
            content: res.errorMessage || res.error,
            type: "fail",
            duration: 3000
          })
        }
      })
    }

后记

小程序的文档到底能不能写完整一点.......

播放速度playbackRate这个字段完全没有在dd.getBackgroundAudioManager()这个接口的文档里出现过,还是我找微信小程序的文档才找到

而且也没有任何提示说IOS端的语音播放需要下载成临时文件, 麻了


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
小程序之~~基于微信登录,后台代码发布时间:2022-07-18
下一篇:
小程序滚动wx.pageScrollTo发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap