调用ajax调用时会发生什么?

时间:2011-06-16 09:06:00

标签: ajax html5 video

当我们创建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);
}

一切正常。但是你可以看到url是硬编码的 - 它必须通过ajax调用来分配。所以这就是我所做的: 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,也会发生同样的事情。

1 个答案:

答案 0 :(得分:0)

手机&平板电脑不允许您自动播放音频/视频。这是预防措施,因此用户不会收到大笔账单,因为您的应用程序会自动流式传输视频/音频。

您可以尝试在页面加载后触发播放器上的点击事件,但我怀疑它是否有效。