Javascript Safari-HTML5音频不会在下一个流中自动播放

Javascript Safari-HTML5音频不会在下一个流中自动播放,javascript,jquery,html,safari,Javascript,Jquery,Html,Safari,我有一个播放/暂停、下一步、上一步按钮的小代码。我有多个曲目(流)播放,我们可以跳转之间的下一个,上一个按钮。这在Firefox、Chrome上运行得很好,但在Safari(桌面、移动)上却不行。在FF和Chrome中,当您跳到下一个prev流时,流自动开始播放。但不是在Safari上,当我按下next或prev按钮时,流停止。这是什么行为 函数aud\u play\u pause(){ var myAudio=document.getElementById(“audio1”); 如果(myA

我有一个播放/暂停、下一步、上一步按钮的小代码。我有多个曲目(流)播放,我们可以跳转之间的下一个,上一个按钮。这在Firefox、Chrome上运行得很好,但在Safari(桌面、移动)上却不行。在FF和Chrome中,当您跳到下一个prev流时,流自动开始播放。但不是在Safari上,当我按下next或prev按钮时,流停止。这是什么行为

函数aud\u play\u pause(){
var myAudio=document.getElementById(“audio1”);
如果(myAudio.paused){
$(“#状态图标”).removeClass('fa-fa-play');
$(“#状态图标”).addClass('fa-fa-pause');
myAudio.play();
}否则{
$(“#状态图标”).removeClass('fa-fa-pause');
$(“#状态图标”).addClass('fa-play');
myAudio.pause();
}
}
$(文档).ready(函数($){
jQuery(函数($){
var supportsAudio=!!document.createElement('audio').canPlayType;
如果(支持Saudio){
var指数=0,
玩=假;
轨道=[
{“曲目”:1,“名称”:“音乐调频”,“文件”:”http://stream.musicfm.hu:8000/musicfm.mp3"},
{“曲目”:2,“名称”:“收音机1”,“文件”:”http://213.181.210.106:8000/high.mp3"},
{“track”:3,“name”:“Test FM”,“file”:”http://213.181.210.106:8000/high.mp3"},
],
trackCount=tracks.length,
npTitle=$(“#npTitle”),
音频=$('#audio1')。绑定('play',函数(){
$(“#状态图标”).removeClass('fa-fa-play');
$(“#状态图标”).addClass('fa-fa-pause');
玩=真;
}).bind('pause',function(){
$(“#状态图标”).removeClass('fa-fa-pause');
$(“#状态图标”).addClass('fa-play');
玩=假;
}).get(0),
btnPrev=$('#btnPrev')。单击(函数(){
如果((索引-1)>-1){
索引--;
装载轨道(索引);
如果(玩){
音频播放();
}
}否则{
索引=0
装载轨道(轨道计数-1);
如果(玩){
音频播放();
}
}
}),
btnNext=$('#btnNext')。单击(函数(){
如果((索引+1)

下一轨道|

您可以将自动播放或在新的src实现播放后放入onload事件中,如下所示:

例如:

audio.addEventListener('canplaythrough', function() { 

   audio.play();

}, false);
在代码片段中,我在音频标签中使用自动播放atrr

函数aud\u play\u pause(){
var myAudio=document.getElementById(“audio1”);
如果(myAudio.paused){
$(“#状态图标”).removeClass('fa-fa-play');
$(“#状态图标”).addClass('fa-fa-pause');
myAudio.play();
}否则{
$(“#状态图标”).removeClass('fa-fa-pause');
$(“#状态图标”).addClass('fa-play');
myAudio.pause();
}
}
$(文档).ready(函数($){
jQuery(函数($){
var supportsAudio=!!document.createElement('audio').canPlayType;
如果(支持Saudio){
var指数=0,
玩=假;
轨道=[
{“曲目”:1,“名称”:“音乐调频”,“文件”:”http://stream.musicfm.hu:8000/musicfm.mp3"},
{“曲目”:2,“名称”:“收音机1”,“文件”:”http://213.181.210.106:8000/high.mp3"},
{“track”:3,“name”:“Test FM”,“file”:”http://213.181.210.106:8000/high.mp3"},
],
trackCount=tracks.length,
npTitle=$(“#npTitle”),
音频=$('#audio1')。绑定('play',函数(){
$(“#状态图标”).removeClass('fa-fa-play');
$(“#状态图标”).addClass('fa-fa-pause');
玩=真;
}).bind('pause',function(){
$(“#状态图标”).removeClass('fa-fa-pause');
$(“#状态图标”).addClass('fa-play');
玩=假;
}).get(0),
btnPrev=$('#btnPrev')。单击(函数(){
如果((索引-1)>-1){
索引--;
装载轨道(索引);
如果(玩){
音频播放();
}
}否则{
索引=0
装载轨道(轨道计数-1);
如果(玩){
音频播放();
}
}
}),
btnNext=$('#btnNext')。单击(函数(){
如果((索引+1)

下一轨道|

您可以将自动播放或在新的src实现播放后放入onload事件中,如下所示:

例如:

audio.addEventListener('canplaythrough', function() { 

   audio.play();

}, false);
在代码片段中,我在音频标签中使用自动播放atrr

函数aud\u play\u pause(){
var myAudio=document.getElementById(“audio1”);
如果(myAudio.paused){
$(“#状态图标”).removeClass('fa-fa-play');
$(“#状态图标”).addClass('fa-fa-pause');
myAudio.play();
}否则{
$(“#状态图标”).removeClass('fa-fa-pause');
$(“#状态图标”).addClass('fa-play');
myAudio.pause();
}
}
$(文档).ready(函数($){
jQuery(函数($){
var supportsAudio=!!document.createElement('audio').canPlayType;
如果(支持Saudio){
var指数=0,
玩=假;
轨道=[
{“曲目”:1,“名称”:“音乐调频”,“文件”:”http://stream.musicfm.hu:8000/musicfm.mp3"},
{“曲目”:2,“名称”:“收音机1”,“文件”:”http://213.181.210.106:8000/high.mp3"},
{“track”:3,“name”:“Test”