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

摘要:
第二个问题在客服回复我之前就解决了:方法是实例化音频标题和播放速度playbackRate,最好在每次播放时重新实例化manager对象(记得清除缓存,关闭钉钉应用程序,然后重新启动它!!!!

问题:

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

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

原因:

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

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

解决方法:
第一个问题提交了工单询问客服,客服的回答是这样的:
钉钉小程序中苹果手机/iphone/IOS端音频无法播放和音频每次播放速度都加快的原因及解决方法第1张

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

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

方法是实例化音频的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端的语音播放需要下载成临时文件, 麻了

免责声明:文章转载自《钉钉小程序中苹果手机/iphone/IOS端音频无法播放和音频每次播放速度都加快的原因及解决方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ansible API 常用模块docker 环境下通过ocelot和consul 实现服务发现与自治下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

iphone手机与PC蓝牙出现感叹号且无法修复解决方案

解决方案如下: 1.需要下载Windows Mobile 6.5 的驱动 drvupdate-amd64.exe ,下载需要正版验证,手动安装驱动,具体步骤Google 2. 如果在BlueTooth Device 下有Wireless 的服务关掉,具体步骤Google 完成以上2步就可以通过PC e.g. Windows Media 播放Iphone的音...

【流量】netflow 基础知识

摘要 记录下关于netflow的基础知识以及应用,现状 是什么 一种数据交换方式,NetFlow流量统计数据包括数据流时戳 源IP地址和目的IP地址 源端口号和目的端口号 输入接口号和输出接口号 下一跳IP地址 信息流中的总字节数 信息流中的数据包数量 信息流中的第一个和最后一个数据包时戳 源AS和目的AS,及前置掩码 序号(只有版本5中支持) 工作原理...

【最新揭秘】百度快收权限如何获得,教你一周快速获得快收权限

   对于百度快收权限,很多seo人员很懵,不知道这个怎么获得,看官方解释也很笼统。官方是这样说的:您的站点暂无快速收录权限,站点关联小程序并提交适配规则将有机会优先获得该权限。  但是有一部的人,加入了百度小程序,也一直迟迟未获得,那怎么办?今天我就教你,来!    加入百度小程序需要以下几步:     第一步:网站企业备案,并且在站点属性中加入关联主体...

adb连接 Android 手机的两种方式

前言 随着现在移动端技术的突飞猛进,导致现在市场上,APP应用数不胜数,那对于测试工程师而言,对于APP的测试,那基本就是一个必修课了。今天,我就来给大家介绍一下,adb 连接 Android 手机的两种方式 USB线连接手机 1、先使用USB线,连接PC和手机 2、通过PC给手机安装adb驱动,下载好安装驱动的工具,并打开,此时,工具是没有检索到手机...

iOS项目之wifi局域网传输文件到iPhone的简单实现

如今手机发展非常迅速,app的种类也琳琅满目,而自从有了4G网之后,手机流量也越来越不够用了。所以现在越来越多的app有了本地文件的管理功能,方便用户随意浏览手机文件的同时,也为用户节约了流量的使用。 如上面的app截图中的功能,现在越来越多的app都具有了在电脑上通过网页wifi传输文件到手机端的功能,不仅有文字类,也有图片类,还有视频类,前提是电脑和...

xamarin跨平台iOS、Android 与Windows

http://xamarin.csdn.net/ Xamarin是一个行动App开发平台,提供跨平台开发能力,开发人员透过Xamarin开发工具与程序语言,即可开发出iOS、Android 与Windows 等平台的原生(Native) App 应用程序,不须个别使用各平台的开发工具与程序语言,不只是「write-once, run everywhere」...