【发布时间】:2012-02-03 06:40:49
【问题描述】:
我使用 flowplayer 在桌面上播放实时视频,对于触摸设备,我使用 flowplayer 的 ipad 插件在 HTML5 视频播放器中播放视频。这是我正在做的播放器的工作流程:
function authStream()
{
$.ajax({
dataType: 'jsonp',
data: 'jsonp=getToken',
jsonp: 'jsonp_callback',
url:'http://server/getToken?channelId=id of the channel played',
success:function(data){
}
});
return;
}
function getToken(data)
{
if(data.ErrorCode == -1){
alert(data.message);
return;
}
if(!data.tk) {
alert('User not authorized to watch the show.');
return;
}
var token = "?token="+data.tk;
playVideo(token);
return;
}
$('#button1').click(function(){
authStream();
});
function playVideo(token){
var url;
if(isIpad || isIphone) {
url = 'http://server/live/_definst_/name of video/playlist.m3u8'+token;
} else {
url = 'name of video.sdp'+token;
}
$f("ipad", {'src': "flowplayer-3.2.7.swf", 'wmode': 'opaque'}, {
clip: {
url:url,
autoPlay: true,
live: true,
provider: 'rtmp',
scaling: 'orig'
},
plugins: {
rtmp: {
url: 'flowplayer.rtmp-3.2.3.swf',
netConnectionUrl:'rtmp://server/live/_definst_/'
}
},
onLoad : function() {
$f().play();
}
}).ipad();
}
现在的问题是视频的自动播放在 ios(ipad、iphone)中不起作用。我知道默认情况下这些设备会阻止自动播放。为此,我使用$f().play(); 来触发自动播放。我尝试了几种使用它的方法,但无法使其工作。我发现的唯一可能的方法是,当我在$(document).ready() 中调用authStream function,然后在$('#button1').click() 中使用$f().play(); 时,视频播放无需第二次点击即可在ipad 中播放视频。我想做同样的工作,但不想在$(document).ready() 中调用authStream function。我想做一些类似于我在示例代码中尝试的方式,并且还想在单击按钮时自动播放视频,而无需在 ipad 中第二次单击。现在我需要单击两次才能在触摸设备中播放视频。请任何人建议我可以尝试使该方法在 ios (ipad) 中工作的可能方法。
编辑: ipad html5 播放器中的播放控件似乎没有被触发。有什么方法可以通过#button1的点击触发html5播放器的播放按钮。我没有任何想法让它发挥作用。
【问题讨论】:
标签: jquery ios ipad html flowplayer