我使用flowplayer在桌面上播放实时视频,对于触摸设备,我使用HTML5视频播放器的ipad插件播放视频。下面是我正在做的播放器的工作流程:
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()中调用$(document).ready(),然后在$('#button1').click()中使用$f().play();,视频播放时不需要第二次点击就可以在ipad上播放视频。我想做同样的工作,但不想在authStream function中调用$(document).ready()。我想做一些类似于我在示例代码中尝试的方式,也想在点击按钮时自动播放视频,而不需要在ipad上第二次点击。现在,我需要点击两次,在触摸设备中播放视频。请大家建议一下,我怎样才能让这个方法在ios (ipad)中发挥作用。
编辑:似乎没有触发ipad html5播放器的播放控制。是否有任何方式触发html5播放器的播放按钮从#button1点击。我没有任何想法让它发挥作用。
发布于 2012-02-05 11:10:10
我从未在iOS上尝试过Flowplayer (我只使用纯HTML5播放器),但我的补偿是,只有当用户触发了play事件时,内置播放器才会启动。似乎没有办法获得真正的自动播放功能。
编辑:如果您想在单击play按钮上发送Ajax请求,请尝试从authStream事件(文档)调用您的文档方法:
$f("ipad", {'src': "flowplayer-3.2.7.swf", 'wmode': 'opaque'}, {
clip: {
url:url,
autoPlay: true,
live: true,
provider: 'rtmp',
scaling: 'orig',
onStart: function() {
authStream();
}
},
plugins: {
rtmp: {
url: 'flowplayer.rtmp-3.2.3.swf',
netConnectionUrl:'rtmp://server/live/_definst_/'
}
},
onLoad : function() {
$f().play();
}
}).ipad();https://stackoverflow.com/questions/9124694
复制相似问题