h5 audio音频文件流在ios中无法正常播放的大坑解决

本文分享了在不同平台如Android和iOS上实现音频播放的解决方案,包括使用文件流、audio标签以及解决声音播放异常等问题,特别针对iOS外放无声的情况给出了解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、通过文件流
2、循环多个audio标签来播放
3、android可以ios出现加载最后一点后闪退,文件损坏
4、android可以播放、ios能播放但是没有声音

以上是遇到的大坑之旅。。。下面就直接来为屌丝们来解决:

var $audio = document.getElementById("audio"+index);
var source = document.createElement('source');
var xml= new XMLHttpRequest();
xml.open("GET", url, true);
xml.onreadystatechange = function (oReq) {
   var content = oReq.response;
   var blob = new Blob([content]);
   source.type = "audio/mpeg";
   source.src = window.webkitURL.createObjectURL(blob)|| URL.createObjectURL(blob);
   source.autoplay = "autoplay";
   source.controls = "controls";
   $audio.appendChild(source);
   $audio.currentTime = 0;
   $audio.load();
   if($audio.paused){
     $audio.play();
   }else{
     $audio.pause();
   }
}
xml.responseType = "blob";
xml.addEventListener("progress", function (evt) {
   //XXXXXXXXXXX
}, false);
xml.onload = function (oEvent) {};
xml.send();

至于ios播放插入耳机有声音,外放没有声音。真是无语,是ios手机设置了静音按键。我擦,结束

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值