所以我在启动/停止使用Sitecore 6.5的Brightcove视频连接器的Brightcove视频时遇到问题。
基本上,内置视频连接器提供了一个" go并在富文本编辑器中呈现视频"然后等到输出时间以获得带有Brightcove JS内容的iFrame,等等。
为了避免自动启动发生(因为我想在视频填充Fancybox2叠加层后发生自动启动),我将富文本框的HTML填充到输入隐藏值中。这让我觉得自己很脏,但确实有效。
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SitecoreSublayout.ascx.cs" Inherits="Assembly.SitecoreSublayout" %>
<%--CONTENT REMOVED--%>
<div class="wrapper black">
<div class="page-header">
<div class="mobile-video-container">
<customControl:Image Item="<%# DataOrContextItem %>" Field="VideoPlayLink" RemoveWidthHeight="true" runat="server" />
</div>
<%--CONTENT REMOVED--%>
<div class="mobile-content"><sc:FieldRenderer ID="FieldRenderer1" FieldName="FieldName" runat="server" /></div>
<a class="arrow-link expand-link" href="#">Expand For Full Story</a>
</div>
<%--CONTENT REMOVED--%>
</div>
</div>
</div>
<div id="video-dialog">
<input id="hdnVideoContent" type="hidden" value='<%# DataOrContextItem.Fields["VideoFieldName"] %>' />
</div>
当我调用JQuery事件打开Fancybox时,我将隐藏的值填充到Fancybox2的内容中。由于这包括自动播放,它播放就好了。在大多数浏览器中,这都有效。不幸的是,我支持IE8,Android 4.1,iOS 7等。当Fancybox关闭时,他们没有处理这种过渡以很好地停止视频。
GlobalObject.brightcoveOverlay = function () {
$(".mobile-video-container, .video-container").on('click', function () {
$.fancybox({
'hideOnContentClick': false,
'autoScale': false,
'transitionIn': 'fade',
'transitionOut': 'fade',
content: $('#hdnVideoContent').val()
}); // fancybox
return false;
}); // click
}();
不幸的是,我无法发布视频代码。我们根据客户许可证,我们有一些NDAs阻止我披露超过此功能。
有人知道通过选择器,劫持找到Brightcove视频的好方法,并在Fancybox2关闭之前停止播放视频吗?我注入了我自己的Brightcove API,但我似乎无法通过正常的Brightcove.API路径进行访问。
赞赏任何和所有建议。只是试图减轻事情,以便我可以解决手头的一些问题。