【问题标题】:play a video inside an image在图像内播放视频
【发布时间】:2014-04-11 13:12:14
【问题描述】:

我正在尝试在 png 图像中播放一个视频,该图像应该作为我的视频的框架。我在另一个 SO question 中找到了我的问题的第一个解决方案:

HTML : play a video inside an image

但这个问题没有为我解决的问题是视频不可点击。如果我希望我的视频设置为自动播放,这是一个很好的解决方案。但我的视频只有在我点击它时才能播放。

而且我知道此解决方案不允许我单击控件,因为 png 图像将位于视​​频前面,并且无法访问控件按钮。

有解决办法吗?

编辑

我的 HTML 代码:

<div id="video">
    <video id="my_video_1" class="video-js vjs-default-skin" 
     preload="auto" width="501" height="282" poster="images/video.gif" onclick="this.play();"controls
     data-setup="{}">
     <source src="video/final.webm" type='video/webm'/>
     <source src="video/final.mp4" type='video/mp4'/>
    </video>
      </div>

我的 CSS:

video {
    padding-left:2px;
    padding-top: 2px;   
    z-index: 5;
}

#video{
    margin-top:70px;
    background-size: cover;
    width:501px;
    height:286px;
    text-align: left;
    cursor: pointer;
    position:relative;
}

#video:after {
    content: '';
    display: block;
    background: url(images/vecto.png) no-repeat top left transparent;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    position: absolute;
    z-index: 10;
}

【问题讨论】:

  • 请提供更多详细信息/代码/示例;如果您在链接问题中的div 中包含background-image 的视频,则图像不在视频顶部...
  • @AlexK。我已经编辑了我的问题,向您展示我的代码。我的 png 是包含视频的 div 的背景。

标签: javascript css video html5-video


【解决方案1】:

您找到的解决方案应该适合您的情况。如果您在视频样式中使用 CSS z-index:11;,在包装器中使用 z-index:10;。然后视频应该是可点击的。

【讨论】:

  • 并且不要忘记添加 position:relative 以使 z-index 工作
  • 这将导致视频在帧前播放。我希望视频在框架后面播放!
【解决方案2】:

没有看到您的代码,我无法给出确切的答案,但您可以使用 javascript 在 img 上设置一个点击事件,该事件将播放视频。

<div id="video">
    <video id="my_video_1" class="video-js vjs-default-skin" 
     preload="auto" width="501" height="282" poster="images/video.gif" onclick="this.play();"controls
     data-setup="{}">
     <source src="video/final.webm" type='video/webm'/>
     <source src="video/final.mp4" type='video/mp4'/>
    </video>
</div>

JavaScript

$("#video").click(function() {
    $("#my_video_1").play();
});

$("#video").click(funciton() {
    var Video1 = $("#my_video_1").get(0);
    Video1.play();
});

我没有测试过这个答案,所以我给出了两个版本的 JS,它们应该做同样的事情。 基本上,JS 会说,当单击 ID="video" 的元素时,播放 ID="my_video_1" 的元素

【讨论】:

  • 还有空间添加其他东西到 js 函数中,例如如果它已经播放然后暂停等或动态添加播放图标
猜你喜欢
  • 2012-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 1970-01-01
  • 1970-01-01
  • 2013-03-05
相关资源
最近更新 更多