博育
博育
  • 发布:2019-04-29 11:33
  • 更新:2019-05-15 10:17
  • 阅读:2590

【报Bug】uni.createInnerAudioContext()异步执行play不会触发onPlay等事件

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]真机上异步执行Play有bug

重现步骤

[步骤]先不要autoplay,设置settimeout延迟执行innerAudioContext.paly(),

[结果]innerAudioContext.onPlay()不会被执行

[期望]
![]
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]1.9.4.20190426

[windows版本号]win10

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]app真机

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]HBuilderX创建的

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]8.0

[iOS版本号]全部真机

[手机型号]小米6

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]见上面截图,只需延迟执行innerAudioContext.play()就知道了,在真机上

联系方式

[QQ]

2019-04-29 11:33 负责人:无 分享
已邀请:
博育

博育 (作者) - 博才育人

我换回了1.8.2的hbuilderx版本这个回调就有用了

博育

博育 (作者) - 博才育人

const innerAudioContext = uni.createInnerAudioContext();  
// innerAudioContext.autoplay = true;  
innerAudioContext.src = 'https://img-cdn-qiniu.dcloud.net.cn/uniapp/audio/music.mp3';  
innerAudioContext.onPlay(() => {  
  console.log('开始播放');  
});  
innerAudioContext.onError((res) => {  
  console.log(res.errMsg);  
  console.log(res.errCode);  
});  
setTimeout(() => {  
  innerAudioContext.play()  
}, 3000)

上面那段复制在最新的1.9.4hbx运行,onPlay不会触发

DCloud_uniAD_HDX

DCloud_uniAD_HDX

bug已确认,下版修复

和setTimeout没有关系,src的问题,在Android平台网络路径有问题

DCloud_uniAD_HDX

DCloud_uniAD_HDX

HBuilderX 1.9.6 Alpha 版发布,已修复该问题。

Alpha版本说明及下载地址参考:https://ask.dcloud.net.cn/article/35765

  • o***@163.com

    为什么我升级到2.0.1.20190614这个版本,安卓还是无法播放,ios可以

    2019-06-28 16:56

  • o***@163.com

    小程序端

    2019-06-28 17:00

  • 辰龙

    app端,最新版本 2.1.1.20190716,安卓还是没法播放,华为、小米、锤子、OPPO都试过了。

    2019-07-20 00:50

该问题目前已经被锁定, 无法添加新回复