1

我在这里发帖是因为我使用 HTML5 音频标签来开发开源软件来帮助残疾人。

我意识到苹果在没有用户交互的情况下锁定了音频文件的读取(AudioVideo Conceptual Using HTML5 Audio Video Device SpecificConsiderations)。但是,这使我在所有浏览器中的 Ipad、Iphone 上的应用程序无法运行(我尝试了 google chrome 和 safari)。

尽管进行了大量研究,但我还没有找到任何解决方案(此功能的浏览器,可以在设备上进行配置,通过模拟点击技巧,...),这使应用程序无法使用。

如果有人知道如何“绕过”这个限制,我将不胜感激。

ps:我明白这不是默认行为,但是我可以访问测试设备来开发应用程序,这可以让我无法做到配置残疾。

ps之二:该应用程序在计算机和安卓的firefox上完美运行。

代码:

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 中显示一个小调试器

4

1 回答 1

1

因为这是 Apple 的限制,所以即使您找到绕过政策的方法,您的应用程序在尝试提交到 App Store 时也很可能会被阻止。

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

希望这可以帮助!

于 2013-06-22T06:07:20.287 回答