Video Sitecore视频库Fancybox-Youtube集成
我们目前正在使用sitecore CMS工具,并使用fancybox播放我们的视频。目前,我们的用户上传OGV和MP4视频,以便在播放器中播放弹出的视频。如果他们没有OGV或MP4视频,我试着让他们选择嵌入youtube视频 视频项目由用户创建的ItemID传入,用户可以在其中附加OGV、MP4和视频缩略图 我尝试了很多方法,但都没能成功 首先,我在Sitecore CMS中为Youtube视频地址创建了一个单文本字段 接下来,我们有一个VideoPlayer.ASPX.CS和VideoPlayer.ASPX,我尝试添加这行代码,但没有成功: VideoYouTube=“http://”+Request.Url.Host+SitecoreUtility.GetVideoMediaUrl(videoItem,“VideoYouTube”) 我想知道我是否可以得到一些帮助,这样我就可以让这个工作。对于VideoPlayer.ASPX.CS,以下是迄今为止有效的代码:Video Sitecore视频库Fancybox-Youtube集成,video,sitecore,Video,Sitecore,我们目前正在使用sitecore CMS工具,并使用fancybox播放我们的视频。目前,我们的用户上传OGV和MP4视频,以便在播放器中播放弹出的视频。如果他们没有OGV或MP4视频,我试着让他们选择嵌入youtube视频 视频项目由用户创建的ItemID传入,用户可以在其中附加OGV、MP4和视频缩略图 我尝试了很多方法,但都没能成功 首先,我在Sitecore CMS中为Youtube视频地址创建了一个单文本字段 接下来,我们有一个VideoPlayer.ASPX.CS和VideoPlay
public partial class videoPlayer : System.Web.UI.Page
{
public string VideoImage { get; set; }
public string VideoMp4 { get; set; }
public string VideoOgv { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
string itemID = WebUtil.GetQueryString("itemID", "");
if (!string.IsNullOrEmpty(itemID))
{
Item videoItem = SitecoreUtility.Db.GetItem(new ID(new Guid(itemID)));
VideoImage = "http://" + Request.Url.Host + SitecoreUtility.GetMediaUrl(videoItem, "VideoImage");
VideoMp4 = "http://" + Request.Url.Host + SitecoreUtility.GetVideoMediaUrl(videoItem, "Video_MP4");
VideoOgv = "http://" + Request.Url.Host + SitecoreUtility.GetVideoMediaUrl(videoItem, "Video_OGV");
}
}
}
对于VideoPlayer.ASPX文件,以下是我迄今为止的工作代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Video Player</title>
<!--[if !IE]><!-->
<link href="/css/video_popup.css" rel="stylesheet" type="text/css">
<script src="/js/video.js"></script>
<!--<![endif]-->
<!--[if gte IE 9]>
<link href="/css/video_popup.css" rel="stylesheet" type="text/css">
<script src="/js/video.js"></script>
<![endif]-->
</head>
<body>
<video id="videoContainer" class="video-js vjs-default-skin" controls preload="none" width="480" height="360"
poster="<%= VideoImage %>"
data-setup="{}">
<source src="<%= VideoMp4 %>" type='video/mp4' />
<source src="<%= VideoOgv %>" type='video/ogg' />
<object id="flash_fallback_1" class="vjs-flash-fallback" width="480" height="360" type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf">
<param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" />
<param name="allowfullscreen" value="true" />
<param name="flashvars" value='config={"playlist":["<%= VideoImage %>", {"url": "<%= VideoMp4 %>","autoPlay":false,"autoBuffering":true}]}' />
<img src="<%= VideoImage %>" width="480" height="360" alt="Poster Image" title="No video playback capabilities." />
</object>
</video>
</body>
</html>
视频播放器
“width=“480”height=“360”alt=“海报图像”title=“无视频播放功能。”/>
从您现有的内容中获取youtube视频URL并将其放入花式方框应该不会太难
在页面代码中,由于您已经拥有sitecore项目,您只需要从正确的字段中检索项目URL
string Video_YouTube = videoItem.Fields["VideoYoutube"].Value;
然后可以将其放置在aspx页面上的锚定标记中,如中所述
只要用户把youtube视频的完整地址放在这里就可以了
或者,您可以安装一个针对sitecore的youtube集成模块,该模块允许您从youtube帐户中下载视频,然后用户可以配置一个字段来完成这些操作,并允许用户选择一个
我在这里有点困惑。我添加了代码,但仍然有问题。我有这个代码,但没有任何效果:Video\u YouTube=“http://”+Request.Url.Host+SitecoreUtility.GetVideoMediaUrl(videoItem,“VideoYoutube”);公共字符串Video\u YouTube{get;set;}如果我正确理解了您的第一篇文章,并且“VideoYouTube”只是一个youtube链接,您不需要获取youtube视频项目的VideoMediaUrl,因为它不是sitecore媒体项目。您也不需要将主机url添加到其中,因为它只会生成无效链接。只需拥有video_youtube=videoItem.Fields[“VideoYouTube”].Value;将为您获取链接。然后,您可以将此链接嵌入,或者根据需要在fancy box中使用它。您可以用我提供的代码给我一个硬核示例吗?让我知道。感谢这是我到目前为止的代码,没有任何效果。string Video_YouTube{get;set;}Video_YouTube=videoItem.Fields[“VideoYoutube”].Value;