移动H5 iPhone audio没有声音(声音不同步)问题的解决方式
前几天做一个移动H5小游戏,其中涉及到播放音频,选择使用了HTML5的<audio>
进行音频的播放,程序写好后测试pc仿iPhone、Android都可以正常播放,然而在iPhone上却没有声音,在网上查阅了一些解决办法,大概是要在.play()
方法之前调用.load()
或 .pause()
,或者把.play()
放在touch事件中,不过我测试了一下也没有效果,但想着原理应该就是如此,于是就开始本地的疯狂测试,最终得到了亲测有效的解决方案:绑定一个touchstart事件(可以绑给最先点击的元素,只用一次就移除的最佳,绑给touchend理论也可以,不过要click那样的才有效,滑动后才touchend的不起作用。。。),调用.load()
,之后在其他方法中调用.paly()
就可以顺利的播放声音了。(注:.**()
前是audio元素,示例代码使用原生ES5,方便大家快速套入自己的技术线)。
解决没有声音代码示例:
// 在touchstart中调用load,如果绑给body或document,可以在load后removeEventListener
document.getElementById('shadow').addEventListener('touchstart', function(e) {document.getElementById('audio_1').load();document.getElementById('audio_2').load();touchstartHandle(e);
}, false);// 其他方法中就可以调用play了
document.getElementById('money').addEventListener('touchend', function(e) {document.getElementById('audio_1').play();document.getElementById('audio_2').play();touchendHandle(e);
}, false);
然而声音有了之后,却发现操作频繁时声音放的很慢,违和感特别强,当然这问题肯定难不倒我,毕竟,我可是擅长各种黑魔法······
解决音效和操作不同步代码示例:
<!-- HTML: -->
<audio id="money-audio0" src="//cdn1.***.com/media/a.wav"></audio>
<audio id="money-audio1" src="//cdn1.***.com/media/a.wav"></audio>
<audio id="money-audio2" src="//cdn1.***.com/media/a.wav"></audio>
<audio id="money-audio3" src="//cdn1.***.com/media/a.wav"></audio>
// JS
// 相信机智的小伙伴看到上面的一坨就知道我要拉啥了✿✿ヽ(°▽°)ノ✿
var audio_index = 0,money_audio0 = document.getElementById('money-audio0'),money_audio1 = document.getElementById('money-audio1'),money_audio2 = document.getElementById('money-audio2'),money_audio3 = document.getElementById('money-audio3');
/**
* 也可以直接使用字符串拼接id的方式获取元素,不过这样做每次播放都要
* 重新获取元素,所以可以考虑这种麻烦点的写法
*/
switch (this.audio_index) {case 0:money_audio0.play();break;case 1:money_audio1.play();break;case 2:money_audio2.play();break;case 3:money_audio3.play();break;default: break;
}
audio_index += 1;
if(this.audio_index === 4) audio_index = 0;
上面是我的渣渣操作,专业点的微信预加载代码长这样:
移动H5 iPhone audio没有声音(声音不同步)问题的解决方式相关推荐
- H5页面audio多声音解决方法
移动端H5带背景音乐,之后如又有其他声音声音产生的冲突,解决方法. 在线demo:http://www.hui12.com/nbin/csdn/sound/demo.html <!DOCTYPE ...
- iphone设置闹钟音乐_如何在iPhone上更改闹钟声音
iphone设置闹钟音乐 Khamosh Pathak Khamosh Pathak At some point, the default alarm sound on your iPhone mig ...
- 苹果6s照相快门声音设置_苹果屏幕录制怎么设置?iPhone屏幕录制没声音解决方法...
考虑到很多用户在手机端也有屏幕录制的需求,所以这次就先跟大家分享下iPhone屏幕录制怎么设置.因为苹果是自带有屏幕录制功能的,所以操作较为简单.安卓用户我们下次再分享. 另外,本次还会穿插介绍一些i ...
- Unity 声音组件 Audio Source(声源)和Audio Listener(声音接收者)
Audio Source(声音源,发出声音的东西)可以有多个 Audio Listener(声音接收者)只能有一个 AudioClip 拖入声音片段 Output 默认为AudioListene ...
- win10声音设置没有麦克风降噪的解决办法
win10声音设置没有麦克风降噪的解决办法 首先: 记得启用音频增强: 然后: 搜索 Realtek Audio Console 这里就有相应的设置
- 苹果手机没有声音怎么回事?3分钟解决!
案例:苹果手机听不见声音怎么回事? [朋友们,苹果手机没有声音,不知道我是不是按错了什么.] 如果你的苹果手机没有声音,可能是由于多种原因导致的.苹果手机没有声音怎么回事?看这里,下面是一些苹果手机没 ...
- 检查计算机的更新红叉,快速解决win10更新后没有声音小喇叭有个红叉解决教程...
大家在操作电脑时一定会遇到很多问题,比如说win10更新后没有声音小喇叭有个红叉解决教程就是我们经常会遇到的,小编及身边的朋友也遇到过win10更新后没有声音小喇叭有个红叉解决教程很多次,针对win1 ...
- xp计算机找不到音量调节,WinXP电脑没声音且小喇叭不见了如何解决?
有用户在使用电脑听音乐的时候,突然发现电脑没有声音了,本来以为只是被禁了音,想着调节音量即可解决问题.但是当他想要点开音量小喇叭的时候,发现桌面任务栏通知区域的小喇叭不见了,这该怎么办呢?下面小编以W ...
- 【Mac使用技巧】QuickTime Player 如何让声音和视频同步加速播放 from csdner +HurryChen+
问题:Mac上用QuickTime Player播放视频,想倍速观看,怎么能精确调整速度,并且让声音跟视频画面同步加速? 解决办法: 按住option键,同时点击如图双箭头,每点击一次,速度加快0.1 ...
最新文章
- mysql加锁处理分析_MySQL 加锁处理分析 ---非常牛逼
- 详细设计说明书读后感_专利申请详细步骤是怎样的,要多久时间
- 使用 Amazon Cloud WAN 构建您的全球网络
- 《Performance Overhead of Atomic Crosschain Transactions》
- boost::callable_traits的remove_varargs_t的测试程序
- SQLMap用户手册【超详细】
- 探索多媒体开发最新最佳实践(内附资料下载)
- 静态注册BroadcastReceiver内部类
- SPRING IN ACTION 第4版笔记-第二章-001-用@Autowired\@ComponentScan、@Configuration、@Component实现自动装载bean...
- 使用Nginx做图片服务器时候,配置之后图片访问一直是 404问题解决
- 【带权并查集 —— 是否说谎】Parity game【POJ 1733】
- python string 编解码(encode b64encode)
- 集成学习与随机森林练习题
- 阿里巴巴矢量图标库批量添加图标
- 03-树3 Tree Traversals Again【建树遍历】
- ASP.NET程序设计_新闻发布系统
- Quartus II 安装
- 2021年“上海区块链周”参会随感(二)2021-04-12
- [の项目练习]Vue-Cli、API的头条新闻项目
- Java Socket服务器端与客户端的编程步骤总结
热门文章
- 程序员找媳妇的要求是什么呢?
- 一文讲透java弱引用以及使用场景
- Python Str字符串 字符串常用方法 定义 创建 拆分 成分判断 大小写调整 格式化 填充 替换 访问 查找
- 初学计算机应该学些什么,学电脑要先学什么 学电脑要学习什么知识
- unity获取电磁笔压感_电磁笔的分类和特性
- 事件日志中出现TKK: 更新 TKK 失败,请检查网络连接,翻译插件用不了
- 信数金服:物联网案例之物联网系统如何进行实时决策
- PPT文件限制编辑如何取消
- Three.js凹凸贴图bumpMap和法线贴图.normalMap
- 如何获取微信小店页面路径