当我们创建setTimeout或Ajax调用时会发生什么?
我在iPad上的HTML5播放器中调用自动播放时遇到问题。
如果我这样称呼:
function playItem()
{
var playerArea = $('#playerArea');
var flowplayerAjdi = getFlowplayerId();
playerArea.empty();
playerArea.append(createQualityChooserHTML()+'');
clipProperties.url = 'http://192.168.100.107:1935/ia/live/playlist.m3u8';
playLiveFlowplayer(flowplayerAjdi, getWowzaUrl('ia'), '', '', true, true);
}
function playItem()
{
$.ajax({
url : 'playVODServlet',
type : 'GET',
data : JSON.stringify(playItemParams),
timeout : 5000,
dataType : "json",
error : function(xhr, ajaxOptions, thrownError)
{
console.error("Error");
},
success : function(searchResult)
{
var playerArea = $('#playerArea');
var flowplayerAjdi = getFlowplayerId();
playerArea.empty();
playerArea.append(createQualityChooserHTML()+'');
clipProperties.url = searchResult.assetId;
playLiveFlowplayer(flowplayerAjdi, getWowzaUrl('ia'), '', '', true, true);
}
});
}
autostart如何不起作用。所以我的问题是:可能是什么问题?看起来它与ajax调用通常代码执行有关,并创建错误和成功函数。如果我将玩家构造函数放入setTimeout,也会发生同样的事情。
答案 0 :(得分:0)
手机&平板电脑不允许您自动播放音频/视频。这是预防措施,因此用户不会收到大笔账单,因为您的应用程序会自动流式传输视频/音频。
您可以尝试在页面加载后触发播放器上的点击事件,但我怀疑它是否有效。