gpt4 book ai didi

javascript - 单击图像时触发 Brightcove 视频播放,并在视频播放完毕后将其隐藏

转载 作者:行者123 更新时间:2023-11-29 19:46:03 25 4
gpt4 key购买 nike

我正在尝试在点击图片时播放视频并在视频播放完毕后将其隐藏,到目前为止我的结构如下:

<a href="#">
<div style="display:none"></div>
<div class="overlay_play_big"></div>
<div class="overlay_label">
<span class="title">Bones</span><br />
<span class="desc">Season 8, Episode 19</span>
</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 type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>

<object id="myExperience2768811593001" class="BrightcoveExperience">
<param name="bgcolor" value="#FFFFFF" />
<param name="width" value="470" />
<param name="height" value="292" />
<param name="playerID" value="2764056952001" />
<param name="playerKey" value="AQ~~,AAACg0nERbk~,bDrRQnHHnTJYYUzl4RqDhsPQ_y-ladJF" />
<param name="isVid" value="true" />
<param name="dynamicStreaming" value="true" />
<param name="includeAPI" value="true" />
<param name="templateLoadHandler" value="onTemplateLoaded" />
<param name="templateReadyHandler" value="onTemplateReady" />
<param name="@videoPlayer" value="2768811593001" />
</object>

<script type="text/javascript">
var player, modVP;

function onTemplateLoaded(experienceID) {
player = brightcove.api.getExperience(experienceID);
modVP = player.getModule(brightcove.api.modules.APIModules.VIDEO_PLAYER);
}

function onTemplateReady(evt) {
modVP.addEventListener(brightcove.api.events.MediaEvent.COMPLETE, onComplete);
}

function onComplete(evt) {
alert("Video ended");
}
</script>

<!--
This script tag will cause the Brightcove Players defined above it to be created as soon
as the line is read by the browser. If you wish to have the player instantiated only after
the rest of the HTML is processed and the page load is complete, remove the line.
-->
<script type="text/javascript">brightcove.createExperiences();</script>
<!-- End of Brightcove Player -->
</a>

我想在点击 overlay_play_big div 时触发视频播放。我正在使用 Brightcove API,但即使是这个简单的警报也不起作用。视频结束,什么也没有发生。我该怎么做,或者我是否犯了错误?

最佳答案

下面的代码将按预期工作..

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Player Event Tester</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>

<script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>

<div id="player" style="float: left">
<object id="myExperience1754261637001" class="BrightcoveExperience">
<param name="bgcolor" value="#FFFFFF" />
<param name="width" value="480" />
<param name="height" value="270" />
<param name="playerID" value="2549948545001" />
<param name="playerKey" value="AQ~~,AAABmA9XpXk~,-Kp7jNgisreVadKjzdyJfLcfukyXcGqB" />
<param name="isVid" value="true" />
<param name="isUI" value="true" />
<param name="dynamicStreaming" value="true" />
<param name="includeAPI" value="true" />
<param name="templateLoadHandler" value="myTemplateLoaded" />
<param name="templateReadyHandler" value="onTemplateReady">
<param name="@videoPlayer" value="1754261637001" />
</object>
<div>
<button id="changeVideo" onclick="changeVideo()">Change Video</button>
<div class="overlay_play_big">Play</div>
</div>
</div>
<script type="text/javascript">
brightcove.createExperiences();
</script>
<div id="log" style="float: left">
<div id="positionLog"></div>
<div id="eventLog"></div>
</div>
<script>
var myTemplateLoaded, onTemplateReady, player, modVP, modExp, modCon, previousVideoID=0, currentVideo, videosToSwap=new Array(1754261637001,1754261438001); //videos we will swap

myTemplateLoaded = function (experienceID) {
player = brightcove.api.getExperience(experienceID);
modVP = player.getModule(brightcove.api.modules.APIModules.VIDEO_PLAYER);
modExp = player.getModule(brightcove.api.modules.APIModules.EXPERIENCE);
modCon = player.getModule(brightcove.api.modules.APIModules.CONTENT);
}

onTemplateReady = function (evt) {
modVP.getCurrentVideo(function (dto) {
});
modVP.addEventListener(brightcove.api.events.MediaEvent.BEGIN, onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.CHANGE, onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.COMPLETE, onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.ERROR, onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.PLAY, onMediaEventFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.PROGRESS, onMediaProgressFired);
modVP.addEventListener(brightcove.api.events.MediaEvent.STOP, onMediaEventFired);
}

function onMediaEventFired(evt) {
document.getElementById("eventLog").innerHTML += "MEDIA EVENT: " + evt.type + " fired at position: " + evt.position + "<BR>";
if (evt.type === "mediaComplete") {
//changeVideo();
alert('ended');
}
}

function onMediaProgressFired(evt) {
document.getElementById("positionLog").innerHTML = "CURRENT POSITION: " + evt.position;
}

function changeVideo() {
modVP.getCurrentVideo(currentVideoCallback);
}

function currentVideoCallback(currentVideo) {
document.getElementById("positionLog").innerHTML = "";
document.getElementById("eventLog").innerHTML = "";

if (currentVideo.id == videosToSwap[0]) {
modVP.loadVideoByID(videosToSwap[1]);
} else {
modVP.loadVideoByID(videosToSwap[0]);
}
}

$('.overlay_play_big').on('click',function(){
modVP.play();
});

</script>

</body>
</html>

关于javascript - 单击图像时触发 Brightcove 视频播放,并在视频播放完毕后将其隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19634625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com