移动端 iOS系统audio播放会延迟,怎么解决呢?

问题描述

移动端 iOS系统audio播放会延迟

问题出现的环境背景及自己尝试过哪些方法

项目中的点击事件添加音效,PC和安卓音效播放都很正常,iOS会有延迟1/2秒,很影响用户体验

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
import audio from './assets/clickAudio.mp3';

Vue.prototype.clickButton = () => {
var audioContainer = document.getElementById('buttonAudio');
var audioDom = document.createElement('audio');
var sourceDom = document.createElement('source');
sourceDom.type = 'audio/mpeg';
sourceDom.src = audio;
audioDom.preload = 'auto';
audioDom.playbackRate = 5;
audioDom.appendChild(sourceDom);
audioContainer.appendChild(audioDom);
audioDom.load();
// 开始播放
audioDom.oncanplay = (e) => {

var _audioDom = e.target;
// this.totalTime = _audioDom.duration;
_audioDom.play();

};
};

你期待的结果是什么?实际看到的错误信息又是什么?

希望iOS上播放也没有延迟

阅读 7k
1 个回答

ios对音频的兼容性不是很好,播放音乐有延迟一般能接受,但是如果做一些游戏类,用户交互比较多的音频音效的话即时性相对于安卓机比较的话不是很好,我也经历过这个问题,手机连点一直触发音效,ios的延迟一般在2s左右,后来我使用了howler.js解决了这个问题,可以试一下
https://www.npmjs.com/package...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题