html代码

   <video id="myVideo"  class="video-active" width="100%" height="300" controls="controls" >
<source src="__STATIC__/video/videos/1.课程介绍.mp4" type="video/mp4" style="margin-top: 0px;;">
<source src="__STATIC__/video/videos/1.课程介绍.mp4" type="video/ogg">
</video>

1、使用jquery写的代码段:

<script>
$(document).ready(function() { $times = 10;
new_times = 0;
$("#video-active").on(
"timeupdate",
function(event) {
onTrackedVideoFrame(this.currentTime, this.duration);
}
); })
/**
*
* @param {Object} currentTime 视频播放的时间
* @param {Object} duration 视频的总播放时间
*/
function onTrackedVideoFrame(currentTime, duration) {
if(currentTime > $times) {
new_times = currentTime;
Media = document.getElementById('video-active');
Media.pause();
layer.confirm('你未购买本视频', {
btn: ['马上购习', '稍后购买'] //按钮
}, function() {
layer.msg('正在开发中,请等待', {
icon: 1
});
}, function() {
layer.closeAll();
return false;
}); }
}
</script>

2、使用javascript原生态代码(第一种):

<script type="text/javascript">

    // 获取 id="myVideo" 的 video 元素
vid = document.getElementById("myVideo");
// // 为 video 元素添加 ontimeupdate 事件,如果当前播放位置改变则执行函数
vid.ontimeupdate = function(){
var curTime = vid.currentTime;
console.log(curTime);
if (curTime >= 20) {
vid.pause();
alert("请购买本视频后再观看!");
return false;
}
};

3、使用javascript原生态代码(第二种):

   vid = document.getElementById("myVideo");
//// videoPlayer.addEventListener("timeupdate", function () { getCurrentVideoPosition(); }, false);
vid.addEventListener("timeupdate",function(){
var curTime = vid.currentTime;
if (curTime >= 20) {
vid.pause();
alert("请购买本视频后再观看");
return false;
}
})

特别说明:

1、使用javascript共有两种的方法;主要区是有些浏览器不能直接使用timeupdate,只能使用addEvetListener

2、公众号开发视频时,js控制的视频要放在<video><video>下面; 要不然不能执行timeupdate;

js获取播放器播放时间和停止播放的更多相关文章

  1. 使用Vitamio打造自己的Android万能播放器(5)——在线播放(播放优酷视频)

    前言 为了保证每周一篇的进度,又由于Vitamio新版本没有发布, 决定推迟本地播放的一些功能(截图.视频时间.尺寸等),跳过直接写在线播放部分的章节.从Vitamio的介绍可以看得出,其支持http ...

  2. 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)

    前言 本章将实现非常实用的功能——下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术 ...

  3. JavaScript多个音频audio标签,点击其中一个播放时,其他的停止播放

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 使用Vitamio打造自己的Android万能播放器(6)——在线播放(播放列表)

    前言 新版本的VPlayer由设计转入开发阶段,预计开发周期为一个月,这也意味着新版本的Vitamio将随之发布,开发者们可以和本系列文章一样,先开发其他功能.本章内容为"在线视频播放列表& ...

  5. 使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)

    前言 关键字:Vitamio.VPlayer.Android播放器.Android影音.Android开源播放器 本章节把Android万能播放器本地播放的主要功能(缓存播放列表和A-Z快速查询功能) ...

  6. js获取当地时间并且拼接时间格式的三种方式

    js获取当地时间并且拼接时间格式,在stackoverflow上有人在问,查了资料,各种方法将时间格式改成任意自己想要的样式. 1. var date = new Date(+new Date()+8 ...

  7. js 获取开始时间和结束时间相隔小时及分钟(时间戳操作)

    js 获取开始时间和结束时间相隔小时及分钟(时间戳操作) 场景描述:获取开始时间和结束时间相隔小时及分钟 实例: TimeOnConfirm(curDate) { if(this.pickernum ...

  8. .net C# 网页播放器 支持多种格式 媒体播放器 播放器 代码

    .avi格式代码片断如下:<object id='video' width='400' height='200' border='0' classid='clsid:CFCDAA03-8BE4- ...

  9. cuplayer酷播播放器 swf 带参数直接播放

    客户需要使用cuplayer,直接调用swf 播放器. /Player/player.swf?FlvID=745,此处写入视频ID; 官方给的例子,运行是有问题的. http://www.cuplay ...

  10. 使用Vitamio打造自己的Android万能播放器(3)——本地播放(主界面、播放列表)

    前言 打造一款完整可用的Android播放器有许多功能和细节需要完成,也涉及到各种丰富的知识和内容,本章将结合Fragment.ViewPager来搭建播放器的主界面,并实现本地播放基本功能.系列文章 ...

随机推荐

  1. 【转】dB的计算方法

    原文地址:https://www.espressif.com/zh-hans/media/blog/%E5%A2%9E%E7%9B%8A%E6%AF%94%E5%80%BC-db-%E4%BB%A5% ...

  2. 互联网部-供应商团队js规范

    文件命名 页面.js文件命名:采用中划线连接方式,比如说: error-report.html js文件夹命名:scripts 公共js命名:common.js 文件结构组织 每个页面中中独有的js文 ...

  3. 【Leetcode】【Easy】Binary Tree Level Order Traversal II

    Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...

  4. bind 详解

    请看我的有道云笔记: http://note.youdao.com/noteshare?id=eaf4194473cf4294776fbc263ffe6b89&sub=5CB214C594E0 ...

  5. 1.LVS理论基础

    查看我的有道云笔记: http://note.youdao.com/noteshare?id=68e0ca45757943e482ba390d4d49369f&sub=4A2A593CDE2D ...

  6. 深入理解linux源码安装三板斧

    概述: 根据源码包中 Makefile.in 文件的指示,configure 脚本检查当前的系统环境和配置选项,在当前目录中生成 Makefile 文件(还有其它本文无需关心的文件),然后 make ...

  7. React总结和遇到的坑

    一.react项目 前端react后端node:https://github.com/GainLoss/react-juejin 前端react后端Pyton:https://github.com/G ...

  8. 设计模式——工厂模式(Factory Method)

    工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪个类.工厂方法使一个类的实例化延迟到其子类. UML图: 运算基类: package com.cnblog.clarck; /** * 数据 ...

  9. Android(java)学习笔记7:多线程程序练习

    需求: 某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口售票,请设计一个程序模拟该电影院售票. 两种方式实现 A:继承Thread类 B:实现Runnable接 1. 首先我们利用方式 ...

  10. 【BZOJ4766】文艺计算姬(prufer序列)

    点此看题面 大致题意: 让你求一个两边各有\(n\)和\(m\)个点的完全二分图有多少个生成树. \(prufer\)序列 这是一道比较经典的利用\(prufer\)序列结论求解答案的计数题. 大致思 ...