强制在Ios设备上播放音频

时间:2013-06-22 01:28:43

标签: javascript iphone ios html5 audio

我在此发帖是因为我使用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中显示一个小调试器

1 个答案:

答案 0 :(得分:1)

由于这是Apple的限制,即使您找到解决方案的方法,您的应用也很可能在尝试提交到App Store时被阻止。

也就是说,我建议您使用某种“启动”按钮设置您的应用程序,该按钮会在找到iOS设备时显示。按钮可以是屏幕的大小,因此如果触摸任何内容,您的音频可以开始播放。

希望这有帮助!