0

我们目前正在使用 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 ,“视频Youtube”)

我想知道我是否可以得到一些帮助,以便我可以让它工作。对于 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>
4

1 回答 1

0

从您所拥有的内容来看,获取 youtube 视频 URL 并将其放入精美的盒子中应该不会太难。

在页面代码中,您已经拥有站点核心项目,您只需要从正确的字段中检索项目 URL。因此,在您的设置和字段名称的 sitecore 中,这将是

string Video_YouTube = videoItem.Fields["VideoYoutube"].Value;

然后可以将其放置在 aspx 页面上的锚标记中,如中所述

http://webdesignandsuch.com/fancybox-youtube-videos/

只要用户将 youtube 视频的完整地址放入其中就可以了。

或者,您可以安装一个用于 sitecore 的 youtube 集成模块,它可以让您从 youtube 帐户中下载视频,然后用户可以配置一个字段来拉取这些视频并让用户选择一个。

http://trac.sitecore.net/YouTubeIntegration

于 2012-06-28T11:13:39.667 回答