摘要: 场景 假如有多个视频,在上一个视频播放完毕时,自动播放下一个视频,要怎么处理的呢?需要按使用的播放器类型和切换的地址格式,采用不同的实现方式。 直播地址方式 这种方式最简单,h5和flash的行为都是一致的,只需要订阅’ended’, 在ended事件里,调用loadByUrl方法, 参数为下一个视频的地址。
场景
假如有多个视频,在上一个视频播放完毕时,自动播放下一个视频,要怎么处理的呢?需要按使用的播放器类型和切换的地址格式,采用不同的实现方式。
直播地址方式
这种方式最简单,h5和flash的行为都是一致的,只需要订阅’ended’, 在ended事件里,调用loadByUrl方法, 参数为下一个视频的地址。
function endedHandle()
{var newUrl = "";player.loadByUrl(newUrl);
}player.on("ended", endedHandle);
vid+playauth Saas播放方式
vid和playauth Saas播放方式,h5和flash需要不同的处理方式:
h5在ended事件里调用replayByVidAndPlayAuth方法,参数为vid和新的playauth值。
flash没有提供切换vid和playauth的方法,需要销毁,重新创建播放器。
注意:playauth的有效期只有100s, 调用replayByVidAndPlayAuth方法时,需要重新生产获取playauth
H5 Player
function endedHandle()
{var newPlayAuth = ""; player.replayByVidAndPlayAuth(vid,newPlayAuth);
}player.on("ended", endedHandle);
Flash Player
function endedHandle()
{var newPlayAuth = ""; player.dispose(); //销毁$('#J_prismPlayer').empty();//id为html里指定的播放器的容器id//重新创建player = new Aliplayer({id: 'J_prismPlayer',autoplay: true,playsinline:true,vid: vid,playauth:newPlayAuth,useFlashPrism:true});}
}player.on("ended", endedHandle);
地址协议不一样切换地处理
如果原来播放的是mp4的视频,现在新的地址是hls的视频地址,这种情况只能重新创建播放器。
function endedHandle()
{var newUrl = ""; //新的播放地址player.dispose(); //销毁$('#J_prismPlayer').empty(); //id为html里指定的播放器的容器id//重新创建player = new Aliplayer({id: 'J_prismPlayer',autoplay: true,playsinline:true,source:newUrl});}
}player.on("ended", endedHandle);
作者:樰篱