Video Sitecore视频库Fancybox-Youtube集成

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

我们目前正在使用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,以下是迄今为止有效的代码:

    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;