- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的网站上有一个 Brightcove 视频。我的网站是响应式的,因此我希望播放器也应该响应式。现在,我已经浏览了 Brightcove 文档中关于“视频播放器的响应式大小调整”的内容。这是链接: http://docs.brightcove.com/en/video-cloud/smart-player-api/samples/responsive-sizing.html
但是,它不适用于我的视频。我还在我的网站上创建了一个测试页面,在其中复制粘贴了他们的示例代码,但即使这样也失败了。当我在移动设备上打开他们的示例页面时,一切正常。但同样的代码在我的网站上失败了。
另外,我怀疑 onTemplateLoad 和 onTemplateReady 事件不会触发,因为我在窗口上收到一条错误消息“experienceModule 未定义”调整大小。
我提供以下示例代码:
<style type="text/css">
.containing-block {
width: 75%;
}
.outer-container {
position: relative;
height: 0;
padding-bottom: 56.25%;
}
.BrightcoveExperience {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}</style>
<div class="containing-block" id="container2"><div class="outer-container" id="container1"><!-- Start of Brightcove Player --><div style="display:none"> </div><!--
By use of this code snippet, I agree to the Brightcove Publisher T and C
found at https://accounts.brightcove.com/en/terms-and-conditions/.
-->
<script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
<script src="http://admin.brightcove.com/js/APIModules_all.js"></script>
<object class="BrightcoveExperience" id="myExperience1754276221001">
<param name="includeAPI" value="true" /><param name="templateLoadHandler" value="onTemplateLoaded" /><param name="templateReadyHandler" value="onTemplateReady" /><param name="bgcolor" value="#FFFFFF" /><param name="width" value="480" /><param name="height" value="270" /><param name="playerID" value="1785957921001" /><param name="playerKey" value="AQ~~,AAABmA9XpXk~,-Kp7jNgisrdzE4WB9lhVzM13pYBWmmbj" /><param name="isVid" value="true" /><param name="isUI" value="true" /><param name="dynamicStreaming" value="true" /><param name="@videoPlayer" value="1754276221001" /></object><script src="//docs.brightcove.com/en/scripts/https-fix.js"></script><script type="text/javascript">brightcove.createExperiences();</script></div></div>
<script type="text/javascript">
var player,
APIModules,
videoPlayer,
experienceModule;
function onTemplateLoaded(experienceID){
console.log("EVENT: onTemplateLoad");
player = brightcove.api.getExperience(experienceID);
APIModules = brightcove.api.modules.APIModules;
}
function onTemplateReady(evt){
console.log("EVENT.onTemplateReady");
videoPlayer = player.getModule(APIModules.VIDEO_PLAYER);
experienceModule = player.getModule(APIModules.EXPERIENCE);
videoPlayer.play();
videoPlayer.getCurrentRendition( function (renditionDTO) {
var newPercentage = ( renditionDTO.frameHeight / renditionDTO.frameWidth ) * 100;
newPercentage = newPercentage + "%";
console.log("Video Width = "+renditionDTO.frameWidth+" and Height = "+renditionDTO.frameHeight);
console.log("New Percentage = "+newPercentage);
document.getElementById("container1").style.paddingBottom = newPercentage;
});
var evt = document.createEvent('UIEvents');
evt.initUIEvent('resize',true,false,0);
window.dispatchEvent(evt);
videoPlayer.play();
}
function calulateNewPercentage(width,height) {
logit("function", "calulateNewPercentage");
var newPercentage = ((height / width) * 100) + "%";
logit("Video Width = ", width);
logit("Video Height = ", height);
logit("New Percentage = ", newPercentage);
document.getElementById("container1").style.paddingBottom = newPercentage;
}
window.onresize = function(evt) {
var $=jQuery;
var resizeWidth = $(".BrightcoveExperience").width(),
resizeHeight = $(".BrightcoveExperience").height();
if (experienceModule.experience.type == "html"){
experienceModule.setSize(resizeWidth, resizeHeight)
//logit("html mode: ", "call setSize method to resize player");
}
}
</script>
我真的很茫然,任何帮助将不胜感激!
最佳答案
我遇到了同样的问题,并使用一些仅在 HTML5 体验中使用调整大小事件的 Javascript 解决了该问题。
foo = (function() {
var players = []
return {
onTemplateLoad: function(id) {
players.push(id);
},
onTemplateReady: function(event) {
var player = brightcove.api.getExperience(event.target.experience.id);
var videoPlayer = player.getModule(brightcove.api.modules.APIModules.VIDEO_PLAYER);
var experienceModule = player.getModule(brightcove.api.modules.APIModules.EXPERIENCE);
if (experienceModule.experience.type == "html") {
window.addEventListener("resize", function(event) {
for (var i = 0; i < players.length; i++) {
var resizeWrapper = $('.js-video-container');
var resizeWidth = resizeWrapper.innerWidth();
var resizeHeight = resizeWrapper.innerHeight();
experienceModule.setSize(resizeWidth, resizeHeight)
}
})
}
}
}
}())
关于javascript - Brightcove 视频对移动设备上的方向变化没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25221480/
假设我有视频 ID,我可以访问视频的静止图像吗? 我已经阅读了媒体 API 和缩略图 URL 和 videoStillURL 的读取函数,但不知道如何实现。 是否有使用给定 ID 的 Assets 的
我正在使用Brightcove但是,对于我的视频,我需要能够单击一系列按钮来转到视频中的特定时间戳。 我已经找到了如何深层链接( https://support.brightcove.com/deep
好吧,整个下午我都在为 BrightCove API 苦苦挣扎,我真的不知道哪里出了问题。 我遵循了 Brightcove 提供的所有内容,并为智能播放器启用了 javascript api。但是 t
我已经在我的 iOS 应用程序中实现了 brightcove 库 4.2.1。 我的应用程序崩溃了: self.player = [[BCOVPlayerSDKManager sharedManage
我应该使用什么来自定义 HTML5 视频播放器(添加自己的按钮,添加 css 样式)?现在我们使用javascript插件,但有时这些插件会在Iframe DOM之前加载。您能为我们提供一个可用于确定
我的网站上有一个 Brightcove 视频。我的网站是响应式的,因此我希望播放器也应该响应式。现在,我已经浏览了 Brightcove 文档中关于“视频播放器的响应式大小调整”的内容。这是链接: h
我正在使用 Brightcove 播放器 http://docs.brightcove.com/en/video-cloud/smart-player-api/用 Angular 来做一个弹出视频。我
我正在尝试加载一个 Brightcove 视频,当在 iPad 上加载 HTML5 版本时,它完全没有控件(例如:播放/暂停、进度条、音量)并且只是播放视频。然后将通过 Smart Player AP
我正在使用 Lity.js 在模态窗口中弹出一个 brightcove 视频链接。我的问题是视频没有自动播放,是否有一个工作参数可以用来表示添加到此链接 https://players.brightc
我遇到了 Bightcove (https://github.com/BrightcoveOS/Samsung-Smart-TV-Sample-App) 为三星智能电视提供的示例应用程序的问题。 Re
我为 Android 应用程序的 Bright Cove 视频播放器编写了示例代码。我是用静态 URL 做的。我很困惑如何使用视频 ID 播放视频。我在下面发布了完整的代码。 //URL of the
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我正在按照指南(如下)使用 brightcove api,但我的问题是我无法通过这种方式管理两个玩家,而我需要它:
我只想在 android.i 中实现 Brightcove 播放器 http://support.brightcove.com/en/docs/accessing-video-content-medi
当用户点击带有播放按钮的图像时,我有以下代码显示 Brightcove 播放器: $(document).ready(function() { $('#performanceVideo').h
很可能我只需要正确的术语来找到答案;但是,我想其他人已经遇到过这个问题并且马上知道如何解决它。 我正在使用 Brightcove 的服务和他们的 Smart Player。我已经配置了一个 Chrom
我们正在尝试显示一个视频,在模板加载后,观看者可以通过单击不同的缩略图来启动视频中的不同提示点。问题是,除非视频已经在播放,否则这不起作用,并且我们不希望它在页面加载时自动播放。有没有办法让视频在模板
我正在尝试将事件附加到 Brightcove 视频,但无法触发它。已遵循 Brightcove 文档中的所有步骤。这是我的代码:
我很难让 Brightcove Smart Player API 处理任何外部 JS 文件。我在 index.html 中调用标准 API 方法(例如 onTemplateLoad 和 onTempl
我正在尝试在点击图片时播放视频并在视频播放完毕后将其隐藏,到目前为止我的结构如下: Bones Season 8, Episode 19
我是一名优秀的程序员,十分优秀!