ios微信客户端中声音无法播放
html中audio标签
<audio src="http://wx.masrbs.com/Addons/HFive/View/default/Public/music/flipsound.mp3" id="Jaudio" class="media-audio" preload="preload" ></audio>
js中播放代码
app.audioAutoPlay=function(id){
var audio = document.getElementById(id),
play = function(){
audio.play();
//document.removeEventListener("touchstart",play, false);
};
audio.play();
document.addEventListener("WeixinJSBridgeReady", function () {
play();
}, false);
//document.addEventListener("touchstart",play, false);
}
在ios中点击按钮触发声音播放是可以的,但是在滑动屏幕代码中调用播放声音代码是无效的。在andriod下都没有问题。
网上查找了很多资料,发现以下两段话:
- 上面的解决方案的核心是利用了微信在ready的时候会有个
WeixinJSBridgeReady/YixinJSBridgeReady
事件,通过监听这个事件来触发的。那有个坑就是如果微信已经ready了,但还没执行到你监听这个ready事件的代码,那么你的监听是没用的,所以监听的js一定要放在head的开始位置(放在css外链之前),确保最先执行,切记!切记!。重要的事情说三遍。 - 另一个点就是,本文的解决方案只适合一开始就播放的背景音乐。如果你是做那种微信场景(打开页面模拟收到很多条微信,每条微信都要播放那段音效),实际上本文的解决方案是不行的。因为ready的事件只会执行一次,即使你在ready事件里面用setTimeout或者setInterval也可能会导致丢失情况。
window.οnlοad=function(){
var shakeMusic = document.getElementById("Jaudio");
console.log(shakeMusic);
// 微信提供的事件,微信浏览器内部初始化完成后
document.addEventListener("WeixinJSBridgeReady", function () {
shakeMusic.load();
}, false);
};
此段代码放入setTimeout函数中,无法监听weixinjsbridgeready事件的。我的页面执行是先执行加载资源文件,加载完毕渲染页面,将监听代码放入加载完毕渲染页面方法中也无效。
将以上代码加载滑动播放声音代码之前,问题解决。
ios微信客户端中声音无法播放相关推荐
- 苹果微信html音乐播放,HTML5教程 在iOS微信浏览器中如何自动播放HTML5 audio
本篇教程探讨了HTML5教程 在iOS微信浏览器中如何自动播放HTML5 audio,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < html> Aut ...
- 微信播放在服务器视频无法播放音乐,【bug解决】ios微信浏览器中背景音乐无法播放...
我记得之前在一次项目中,出现过浏览报错: 所以在这次H5的制作中,我使用了iframe来加载音频文件,使用这种方式后,电脑端是没有问题的,但是当上传至服务器上在手机上浏览时,会出现点击音乐旋转按钮无法 ...
- H5页面在IOS微信webview中无法校验视频文件时长问题
因业务需求需要一个图片视频文件上传功能,需支持主流浏览器及微信钉钉内置浏览器,遂考虑用一个简单的H5页面做上传客户端.视频上传因为要控制视频长度,在其他浏览器中都校验通过,但是在微信中却出了问题 co ...
- ios微信h5棋牌游戏自动播放音效填坑
开发中不可避免遇到一些ios和安卓适配的坑: ios不可以自动播放音乐的机制,使一些h5游戏播放背景音乐和音效无法播放: 正常情况下ios只允许用户自己去打开音效.但是这样的机制并不适合很多项目.而去 ...
- 解决Java程序在MOTO E680i中声音文件播放
这几天一直在用MOTO SDK来开发一款用于Moto E680i的JAVA游戏,利用BLOG发表一些心得: MOTO系列手机中JAVA程序播放一个声音文件比较简单,但是用于交互式音效时就有问题了. 根 ...
- 完美解决Java程序在 MOTO E680i 中声音文件播放
这几天一直在用MOTO SDK来开发一款用于Moto E680i的JAVA游戏,利用BLOG发表一些心得: MOTO系列手机中JAVA程序播放一个声音文件比较简单,但是用于交互式音效时就有问题了. 根 ...
- 完美解决Java程序在 MOTO E680i 中声音文件播放(转载)
这几天一直在用MOTO SDK来开发一款用于Moto E680i的JAVA游戏,利用BLOG发表一些心得: MOTO系列手机中JAVA程序播放一个声音文件比较简单,但是用于交互式音效时就有问题了. 根 ...
- 微信播放在服务器视频无法播放音乐,解决ios微信浏览器中audio和video音乐视频无法自动播放等问题...
产生问题的原因 参考网址:点击 对于自动播放的局限性,没有变通方案.正如前面所提及的,音频流只能从用户触摸事件加载.当针对移动版 Safari 进行开发时,重要的一点是要在必要时调整您的工作流,以适应 ...
- 解决微信浏览器video标签自动播放视频失效
正常在浏览器好好的视频,在微信内置浏览器中点击播放全屏,样式也不一样,自动播放失效.罪魁祸首是微信把video标签都成微信规则的了.下面方式可以解决视频播放全屏以及不能自动播放的问题. <vid ...
最新文章
- Go 学习笔记(33)— Go 自定义类型 type(自定义结构体、结构体初始化、结构体内嵌、自定义接口)
- 一个很适合用来套用后台的框架
- 2019中国人工智能年度评选启幕,3大奖项,锁定AI Top玩家
- Git关于pull,commit,push的总结
- mysql innodb 内存_MySQL的innodb和内存
- 360网络修复工具_Win10网络图标不见了解决方法
- 网络监控工具--ntop
- js,css压缩工具
- Scrapy 框架爬取 武动乾坤小说
- SpringMVC入门实例及详细讲解
- 2021-06-28获取,更新,删除DOM节点
- 中国超市智能储物柜市场需求动态与盈利前景预测报告2022-2027年
- Java Instrument 功能使用及原理
- cf 581A— Vasya the Hipster
- c语言杖举,形近字组词。直()植()杖()仗()提()题()漫()慢()
- 职场的技术人如何做好一个公众号?
- vivo是安卓手机吗_vivo新机Y73s评测:谁说买手机一定要买旗舰机?_安卓手机
- linux 手机互传,轻松实现Linux笔记本和手机、PDA互传文件(转)
- 康巴丝(compas)某Wi-Fi万年历无法自动校时的问题
- 点聚WebOffice组件介绍