我在此发帖是因为我使用HTML5音频标签开发开源软件来帮助残障人士。
我意识到Apple在没有用户交互的情况下锁定了音频文件的读取(AudioVideo Conceptual Using HTML5 Audio Video Device SpecificConsiderations)。然而,这使我的应用程序无法在Ipad,Iphone在所有浏览器中使用(我尝试了谷歌浏览器和野生动物园)。
尽管进行了大量研究,但我还没有找到任何解决方案(此功能的浏览器,可以在设备上完成配置,通过模拟点击技巧......),这会使应用程序无法使用。
如果有人知道如何绕过"这个限制,我将不胜感激。
ps:我明白这不是默认行为,但是我可以访问测试设备来开发应用程序,这可以让我让配置残疾无法做到。ps bis:应用程序在计算机和firefox for android上完美运行。
代码:
function makeAttente() {
"use strict";
var i, o, taille;
taille = audios.length;
for (i = 0; i < taille; i++) {
o = audios[i];
if(i<taille-1){
(function(arg1) {
o.addEventListener('ended', function() {
playSound(arg1+1);
}, false);
})(i);
document.getElementById("audio").innerHTML += "<br/> mot numero " + i + " d'une durée de " + o.duration + " secondes est écouté pour la fin pour le mot " + (i+1);
}
else{
if(! o.loadeddata ){
o.addEventListener('loadeddata',playSound(0), false);
}
else{
playsound(0);
}
document.getElementById("audio").innerHTML += "<br/> mot numero " + i + " est écouté pour la fin de chargement pour le mot " + (i+1);
}
}
}
function playSound(nbSon) {
"use strict";
var a, d;
if(nbSon === 0 ||audios[(nbSon-1)].played.length === 1){
a = audios[nbSon];
d = new Date();
document.getElementById("audio").innerHTML += "<br/> audio" + nbSon + " d'une durée de " + a.duration + " lancé avec le son " + a.currentSrc + " au temps >>> " +d.getMinutes() + ":"+d.getSeconds() + ":" + d.getMilliseconds();
a.volume = 1;
a.click();
a.play();
}
};
相关网页的互联网地址(目前为法国项目): http://ci.worldheberg.com/fr-appli-test.html
编辑:全局变量audios包含所有音频dom元素,你可以在音频的div中显示一个小调试器
答案 0 :(得分:1)
由于这是Apple的限制,即使您找到解决方案的方法,您的应用也很可能在尝试提交到App Store时被阻止。
也就是说,我建议您使用某种“启动”按钮设置您的应用程序,该按钮会在找到iOS设备时显示。按钮可以是屏幕的大小,因此如果触摸任何内容,您的音频可以开始播放。
希望这有帮助!