-
Creator 版本:2.1.2
-
目标平台:
-
详细报错信息,包含调用堆栈:
Create unpacker 07ce7530a for 14TDKXr2NJ6LjvHPops74o
cocos2d-js-min.2758d.js:1 Create unpacker 0a5079762 for 28dPjdQWxEQIG3VVl1Qm6T
cocos2d-js-min.2758d.js:1 Create unpacker 0d669730c for c0BAyVxX9JzZy8EjFrc9DU
cocos2d-js-min.2758d.js:1 Create unpacker 079499991 for 6dkeWRTOBGXICfYQ7JUBnG
cocos2d-js-min.2758d.js:1 Create unpacker 0e4bc3b03 for 0ek66qC1NOQLjgYmi04HvX
cocos2d-js-min.2758d.js:1 Cocos Creator v2.1.2
cocos2d-js-min.2758d.js:1 LoadScene 2dL3kvpAxJu6GJ7RdqJG5J: 594.323ms
main.ad496.js:127 Success to load scene: db://assets/Scene/helloworld.fire
cocos2d-js-min.2758d.js:1 Uncaught DOMException: Failed to execute ‘setTargetAtTime’ on ‘AudioParam’: Time constant must be a finite positive number: 0
at new h (http://localhost:7456/build/cocos2d-js-min.2758d.js:1:79746)
at t.20.t._onLoaded (http://localhost:7456/build/cocos2d-js-min.2758d.js:1:76852)
at t.set [as src] (http://localhost:7456/build/cocos2d-js-min.2758d.js:1:79038)
at Object.play (http://localhost:7456/build/cocos2d-js-min.2758d.js:1:83626)
at Object.playMusic (http://localhost:7456/build/cocos2d-js-min.2758d.js:1:85895)
at CCClass.onEnable (http://localhost:7456/build/src/project.93312.js:1:806)
at CCClass.invokeOnEnable [as _invoke] (http://localhost:7456/build/cocos2d-js-min.2758d.js:1:272815)
at CCClass.invoke (http://localhost:7456/build/cocos2d-js-min.2758d.js:1:271457)
at CCClass.activateNode (http://localhost:7456/build/cocos2d-js-min.2758d.js:1:504077)
at CCClass._activate (http://localhost:7456/build/cocos2d-js-min.2758d.js:1:211177)
h @ cocos2d-js-min.2758d.js:1
20.t._onLoaded @ cocos2d-js-min.2758d.js:1
set @ cocos2d-js-min.2758d.js:1
play @ cocos2d-js-min.2758d.js:1
playMusic @ cocos2d-js-min.2758d.js:1
onEnable @ project.93312.js:1
invokeOnEnable @ cocos2d-js-min.2758d.js:1
invoke @ cocos2d-js-min.2758d.js:1
activateNode @ cocos2d-js-min.2758d.js:1
_activate @ cocos2d-js-min.2758d.js:1
runSceneImmediate @ cocos2d-js-min.2758d.js:1
(anonymous) @ cocos2d-js-min.2758d.js:1
(anonymous) @ cocos2d-js-min.2758d.js:1
(anonymous) @ cocos2d-js-min.2758d.js:1
(anonymous) @ cocos2d-js-min.2758d.js:1
cocos2d-js-min.2758d.js:1 Uncaught TypeError: Cannot read property ‘_assembler’ of null
at p.245.v._render (cocos2d-js-min.2758d.js:1)
at p.245.v._worldTransform (cocos2d-js-min.2758d.js:1)
at p.245.v._localTransform (cocos2d-js-min.2758d.js:1)
at p.A [as _func] (cocos2d-js-min.2758d.js:1)
at p.245.v._children (cocos2d-js-min.2758d.js:1)
at p.245.v._worldTransform (cocos2d-js-min.2758d.js:1)
at p.245.v._localTransform (cocos2d-js-min.2758d.js:1)
at p.A [as _func] (cocos2d-js-min.2758d.js:1)
at p.245.v._children (cocos2d-js-min.2758d.js:1)
at p.245.v._localTransform (cocos2d-js-min.2758d.js:1) -
重现方式: Hello World 添加一个音效组件 cc.AudioClip,绑定一个mp3,然后构建运行。
-
出现概率:必现
这是因为UC浏览器不支持web audio,只支持DOM Audio。
解决方案是:选中音频资源,在它的属性检查器上修改它的音频模式:
1赞
非常感谢,是这个原因。
我找到两种解决办法
1、使用try catch 包装代码,捕获异常,这样就还是可以使用web audio模式,但会没有声音;
2、切换成上图中的dom audio模式,360浏览器虽然会有下面的错误 提示,但有声音。不过会造成游戏卡顿;
问题:有没有动态的方法,在使用1方法时,捕获到异常了,再使用2模式加载?
1赞