Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iPhone上播放带有HTML5音频的声音片段时出现问题_Iphone_Ios_Html_Audio - Fatal编程技术网

在iPhone上播放带有HTML5音频的声音片段时出现问题

在iPhone上播放带有HTML5音频的声音片段时出现问题,iphone,ios,html,audio,Iphone,Ios,Html,Audio,在我的HTML5应用程序上,我有一些mp3声音片段可以在某些活动中播放。没有标记,脚本在开始时创建音频对象(每个mp3一个)并加载文件。当我必须播放声音时,我只需对其中一个对象调用play() 这在Chrome桌面上运行良好,但在我的iPodtouch中非常不稳定,最终一些声音停止播放,我甚至收到错误警报 这是我设置的一个小脚本,用于查看问题,它的宿主是3个音频文件,因此您可以在iPhone/任何设备上查看它 var snd = []; window.onload = function() {

在我的HTML5应用程序上,我有一些mp3声音片段可以在某些活动中播放。没有标记,脚本在开始时创建音频对象(每个mp3一个)并加载文件。当我必须播放声音时,我只需对其中一个对象调用play()

这在Chrome桌面上运行良好,但在我的iPodtouch中非常不稳定,最终一些声音停止播放,我甚至收到错误警报

这是我设置的一个小脚本,用于查看问题,它的宿主是3个音频文件,因此您可以在iPhone/任何设备上查看它

var snd = [];

window.onload = function() {
    for(var i = 0; i < 3; i++) {
        snd[i] = new Audio("snd" + i + ".mp3");
        snd[i].load();
    }
}

function sound(n) {
    snd[n-1].play();
}
var snd=[];
window.onload=函数(){
对于(变量i=0;i<3;i++){
snd[i]=新音频(“snd”+i+“.mp3”);
snd[i].load();
}
}
功能声音(n){
snd[n-1].play();
}

我做错什么了吗?

我的iDevices有很多音频问题……你要做的是在开始下一个视频之前清空上一个播放的视频片段。另外,我只有一个音频对象,并且会更改源,因此我的解决方案看起来更像这样:

<html>
<body>
<audio></audio>
etc
</body>
<script type="text/javascript">
var sounds=[];

window.onload = function() {
    for(var i = 0; i < 3; i++) {
        sounds[i] = "snd" + i + ".mp3";
    }
}

function sound(n){
snd=document.getElementsByTagName("audio")[0];
snd.pause();  //-----------------PAUSE THE LAST (WHICH MAY BE LONG DONE)
snd.src='';   //-----------------BLANK SRC
snd.src=sounds[n-1];  //---------REPLACE WITH NEW SOUND
snd.load();
snd.play();
}
</script>
</html>

等
var声音=[];
window.onload=函数(){
对于(变量i=0;i<3;i++){
声音[i]=“snd”+i+“.mp3”;
}
}
功能声音(n){
snd=document.getElementsByTagName(“音频”)[0];
snd.pause();//--------------暂停最后一个(可能需要很长时间)
snd.src='';/--------------空白src
snd.src=声音[n-1];//-----------替换为新声音
snd.load();
snd.play();
}

我上传了它来尝试一下。。。snd0.mp3失败,但我假设iOS对该文件有问题。其他两个似乎工作正常,除了他们需要很长时间,因为按钮点击,它没有得到任何更快的后续点击,就好像音频文件是下载每次播放。这正常吗?有什么办法可以解决吗??感谢您可以使用cache.manifest将文件存储在用户设备上(还可以启用脱机功能)。虽然还不能成功,但我会继续调查的。谢谢…有更新吗?其他SO帖子表明缓存音频文件可能会有问题,但希望这些帖子已经过时了。。。