Egret社区

关于声音播放的解决方案

2017-3-3 10:37
2024563
本题已加入常见问题汇总 » Egret 声音播放最佳实践,更多Egret 声音播放最佳实践相关的话题欢迎关注讨论


根据大家测试的结果,声音播放的解决方案如下

1、进入游戏时预加载完将要播放的背景音乐,然后播放声音,但是这个时候声音能否播放出来需要浏览器本身支持,也就是看缘分的事了

2、在直接播放后增加一次点击事件(比如点击舞台、开始按钮等等,这里的点击播放必须是音乐文件已经加载完,而且需要是点击后直接调用play)来重新播放已经在播放的背景音乐(根据在播放的音乐进度重新生成一个新的soundChannel来继续播放,并停止之前的soundchannel),此处如果之前没有播放出来的这次会播放出来,能播放出来的也不会影响进度

3、后面就随意播放啦(从目前测试来看,可以兼容 95% 以上的设备浏览器)


注意:
1、如果有解码问题,还是使用格式工厂转换


感谢各位参与测试的同学,特别感谢 @wyb815

测试地址:
http://bbs.egret.com/thread-26296-1-1.html


另外附上 @cxm025 同学在微信上的解决方案  http://bbs.egret.com/thread-23193-1-1.html


注意:如果此方案不能解决你的问题,请把手机型号、系统版本、浏览器版本跟帖即可。

分享到 :
19 人收藏
Demo是一个可以直接测试出问题的例子,不是完整项目!
好的Demo可以更快速解决问题,免去长时间来回沟通成本!

63 个回复

倒序浏览
1158981487  登堂入室 | 2017-3-3 15:00:15
令人失望的解决方案
1158981487  登堂入室 | 2017-3-3 15:01:04
1158981487 发表于 2017-3-3 15:00
令人失望的解决方案

就一点 微信不能播放  这就不能算完
yjtx  官方团队 | 2017-3-3 15:50:49
本帖最后由 yjtx 于 2017-3-3 15:59 编辑
1158981487 发表于 2017-3-3 15:01
就一点 微信不能播放  这就不能算完

从你给的结果来看,这个也是完全适合你的手机的。
xueaj110  登堂入室 | 2017-3-6 15:38:09
yjtx 发表于 2017-3-3 15:50
从你给的结果来看,这个也是完全适合你的手机的。

直接借用creatjs里的sound.js 不行吗
我都是用它来适配的自动播放
直接egret调用原生js解决
yjtx  官方团队 | 2017-3-6 18:45:57
xueaj110 发表于 2017-3-6 15:38
直接借用creatjs里的sound.js 不行吗
我都是用它来适配的自动播放
直接egret调用原生js解决 ...

那你可以也发个对应的demo,让其他同学测试下兼容性看看,如果可以的话,我们会参考这个
xueaj110  登堂入室 | 2017-3-6 18:53:05
本帖最后由 xueaj110 于 2017-3-6 19:03 编辑

http://culture.thyssen.com.cn/
我机型也没那么多,所以也希望大家帮忙看看有哪些机型不可以的
希望egret越来越好,不用来回切换互相调用了

loading结束之后会有音乐
631620396  登堂入室 | 2017-3-6 22:09:23
不是很明白。。。点击本来不就可以触发声音播放么???
disunit  圆转纯熟 | 2017-3-7 09:07:52
xueaj110 发表于 2017-3-6 18:53
http://culture.thyssen.com.cn/
我机型也没那么多,所以也希望大家帮忙看看有哪些机型不可以的
希望egret ...

这个方法不错
yjtx  官方团队 | 2017-3-7 09:46:52
xueaj110 发表于 2017-3-6 18:53
http://culture.thyssen.com.cn/
我机型也没那么多,所以也希望大家帮忙看看有哪些机型不可以的
希望egret ...

和我们测试的结果是一样的,不点击是没有声音的。 ios7p 10.2
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2019 Comsenz Inc.

返回顶部