我想在特定时间启动AMP(Azure媒体播放器)HTML5视频,以显示视频的特定内容。
什么不起作用是时候开始了。视频总是从0:00开始,然后很好地播放到最后。在js控制台中没有有用的通知。
我阅读了一些示例和文档,这是我尝试过的,(注意行myPlayer.currentTime(30);):
脚本:
var myPlayer = amp('vid1', { /* Options */
"nativeControlsForTouch": false,
autoplay: false,
controls: true,
width: "640",
height: "400",
poster: ""
},
function () {
myPlayer.src([{
src: "http://amssamples.streaming.mediaservices.windows.net/91492735-c523-432b-ba01-faba6c2206a2/AzureMediaServicesPromo.ism/manifest",
type: "application/vnd.ms-sstr+xml"
}]);
myPlayer.currentTime(30);
console.log('Good to go!');
this.play(); // if you don't trust autoplay for some reason
// add an event listener
this.addEventListener('ended', function () {
console.log('Finished!');
});
});
HTML
<video id="vid1" class="azuremediaplayer amp-default-skin">
<source src="" type="application/vnd.ms-sstr+xml" />
<p class="amp-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video
</p>
</video>
我已使用以下来源进行设置。 Link to documentation I have used
答案 0 :(得分:2)
使用以下内容替换HTML视频标记,它将在设置的时间开始。它设置了currentTime(30)的源;不要跑。
<video id="vid1" class="azuremediaplayer amp-default-skin amp-big-play-centered" tabindex="0"> </video>
答案 1 :(得分:2)
根据您的情况,您可以通过两种方式实现此目标。
如果你的场景是想要在30秒开始,但是让用户能够查看时间0:00-0:30,那么在播放事件之后设置currentTime(在设置源之后)将工作
如果您的场景是您希望流在30秒内启动,但您不希望查看者看到前30秒(更像是修剪或剪裁版本,因为可能前30秒是空白内容或只是一个静态缓冲区),你最好创建一个动态清单。使用动态清单,您可以缩减内容的开始时间(并根据需要添加其他过滤器),以便在不需要创建其他资产(因为它使用现有资产)的情况下获得更精确的开始时间。有关动态清单的详细信息,请查看the blog。