定义播放器

链接:https://pan.baidu.com/s/1gdjj6Vra_zKAieZHuUpIkg 密码:di0j

1、H5多媒体标签介绍

figure--多媒体语义标签

figcaption--多媒体区域表体

<video width="400" height="300" src="./chrome.mp4" controls loop autoplay></video>
  <!-- 浏览器支持多种视频格式文件播放的兼容写法 -->
  <video controls>
    <source src="./chrome.mp4">
    <source src="./chrome.ogg">
    <source src="./chrome.webm">
  </video>
controls:播放器控制栏
autoplay:自动播放
loop:设置循环播放
注意:audio标签的属性与video标签的属性一样

2、API

pause()  暂停当前播放的音频/视频

play()  开始播放音频/视频

canplay  当浏览器可以播放音频/视频时

duration  返回当前音频/视频的长度(以秒计)

play()  开始播放音频/视频

pause()  暂停当前播放的音频/视频

timeupdate  当目前的播放位置已更改时

currentTime  设置或返回音频/视频中的当前播放位置(以秒计)

ended  返回音频/视频的播放是否已结束

3、设置自定义播放器

思路分析:

第一步:设计多媒体标签框架

  1. 确定多媒体figure标签
  2. 在figure标签中创建标题figcaption标签和播放区域的标签<div class="player">
  3. 在<div class="player"></div> 设置播放窗口<video>和播放控制栏<div class="controls">
  4. 播放控制栏包括 播放\暂停按钮、进度条、时间、全屏等标签

第二步:实现合理的css样式

? 根据需求设计样式

第三步:通过JS实现功能

获取所需要的元素

    // 获取播放器JQ元素
    var $player = $(‘.player‘);
    // 获取播放器JS元素
    var player = $player[0];
    // 获取video的JQ元素
    var $video = $player.find(‘video‘);
    // 获取video的JS元素
    var video = $video[0];
    // 获取播放\暂停按钮
    var $switch = $(‘.switch‘);
    // console.log($switch);
    // 进度条
    var $line = $(‘.line‘);
    // 当前时间标签JQ对象
    var $current = $(‘.current‘);
    // 总时间JQ对象
    var $total = $(‘.total‘);
    // 获取全屏按钮
    var $expand = $(‘.expand‘);
    // 获取灰色进度条
    var $bar = $(‘.bar‘);

①页面加载时显示当前播放的视频

// ①页面加载时显示当前播放的视频
    video.oncanplay = function () {
      $(this).show();
        // ⑥显示总的播放时间
      $total.html(formatTime(video.duration));
    };

②点击播放按钮 视频进行播放

③点击暂停按钮 视频进行暂停

    // ②点击播放按钮  视频进行播放
    // ③点击暂停按钮  视频进行暂停
    $switch.on(‘click‘,function(){
      if($switch.hasClass(‘fa-play‘)){
        $(this).removeClass(‘fa-play‘).addClass(‘fa-pause‘);
        video.play();
      } else {
        $(this).removeClass(‘fa-pause‘).addClass(‘fa-play‘);
        video.pause();
      }
    });

④在播放过程中显示进度条

⑤在播放过程中显示当前的播放时间

⑥显示总的播放时间(设置在页面加载时显示当前播放的视频)

    // ④在播放过程中显示进度条
    // 获取当前的时间
    video.ontimeupdate = function () {
      // 获取进度
      var p = video.currentTime / video.duration * 100 + ‘%‘;
      $line.css(‘width‘,p);
      // ⑤在播放过程中显示当前的播放时间
      $current.html(formatTime(video.currentTime));
    }

⑦点击全屏操作按钮 播放器全屏

⑧点击取消全屏按钮 播放器取消全屏

    // ⑦点击全屏操作按钮  播放器全屏
    // ⑧点击取消全屏按钮  播放器取消全屏 

    $expand.on(‘click‘,function(){
      if($expand.hasClass(‘fa-arrows-alt‘)) {
        $expand.removeClass(‘fa-arrows-alt‘).addClass(‘fa-compress‘);
        player.webkitRequestFullScreen();
      } else {
        $expand.removeClass(‘fa-compress‘).addClass(‘fa-arrows-alt‘);
        document.webkitCancelFullScreen();
      }
    });
    // 注意:当按esc退出全屏的时候,没有改变按钮
    // 这是就要模拟监听是否全屏。
    window.onresize = function () {
      // 判断是否全屏
      if(!document.webkitIsFullScreen) {
        $expand.addClass(‘fa-arrows-alt‘).removeClass(‘fa-compress‘);
      }
    };

⑨点击进度条 根据位置切换当前播放进度

    // ⑨点击进度条 根据位置切换当前播放进度
    $bar.on(‘click‘,function(e){
      // 获取点击的位置距离元素左侧的距离
      var currentTime = e.offsetX / $bar.width() * video.duration;
      video.currentTime = currentTime;
    });

⑩播放结束 重置一下

    // ⑩播放结束 重置一下
    video.onended = function(){
      video.currentTime = 0;
      $switch.addClass(‘fa-play‘).removeClass(‘fa-pause‘);
    };

11、模拟弹幕

    // 模拟弹幕
    $(‘.send‘).on(‘click‘,function(){
      var text=$(‘.dm‘).val();
      $(‘<span></span>‘).text(text).css({
        color: ‘rgb(‘+(Math.floor(256 * Math.random())) + ‘,‘ + (Math.floor(256 * Math.random())) +‘,‘+ (Math.floor(256 * Math.random())),
        position:‘absolute‘,
        right: -100,
        width: 100,
        height:20,
        top: Math.floor( 300 * Math.random())
      }).animate({right:700},6000,function(){
        $(this).remove();
      }).appendTo($player);
    })

原文地址:https://www.cnblogs.com/houfee/p/9258024.html

时间: 2024-08-30 00:01:25

定义播放器的相关文章

Android上定义播放器控件UniversalVideoView

在Android上播放视频最简单的方法是使用SDK中内置的VideoView,然后加上MediaController来控制视频播放暂停等,但是这样有一个缺点是无法定制自己的控制UI,所以这里提供一个自定义播放控件,它可以设置多种自定义属性(如loading样式,错误视频等),并且很容易在全屏与非全屏之间切换,另外支持Android V2.3及以上系统. 项目地址: https://github.com/linsea/UniversalVideoView 使用方法 完整的使用方法请参考项目里的Sa

搭建rtmp直播流服务之4:videoJS/ckPlayer开源播放器二次开发(播放rtmp、hls直播流及普通视频)

前面几章讲解了使用nginx-rtmp搭建直播流媒体服务器,以及使用ffmpeg推流到nginx-rtmp服务器,java通过命令行调用ffmpeg实现推流服务,后端的事情到这里就已经全部完成了. 本章讲一下播放器的选用和二次开发,前端的播放器虽然有flex(flash)可以用,但是很遗憾flex接触的并不多,学习成本又太高,那么基于第三方开源的flash播放器二次开发就显得很有必要. 一.几种播放器选择 那么播放器,哪些已经不再更新的和收费的,这里不会介绍,只介绍两种轻量级的开源播放器. 1.

使用HTML5的Audio标签打造WEB音频播放器

目前,WEB页面上没有标准的方式来播放音频文件,大多数的音频文件是使用插件来播放,而众多浏览器都使用了不同的插件.而HTML5的到来,给我们提供了一个标准的方式来播放WEB中的音频文件,用户不再为浏览器升级诸如Adobe Flash.Apple QuickTime等播放插件,只需使用现代浏览器就可以聆听任何可以发出声音的WEB网站. WEB中的Audio标签 HTML5定义了一个新的元素用来指定标准的方式来插入音频文件到web页面中:<audio>标签.使用audio标签可以控制音频的播放与停

ckplayer,超酷网页播放器,用于集成在网站中的播放器

自己在工作中做了一个教学网站,点击左边课程,右边播放视频,经过源代码分析,用的就是这个播放器 网址:http://www.ckplayer.com/ 具体使用播放器网站上说的比较明白 div id="flashcontent"></div> <div id="video" style="position:relative;z-index: 100;width:600px;height:400px;"><div 

引入腾讯视频的播放器组件在页面直接播放视频

<div class="vedio_show"> <div id="mod_player_skin"> </div> <!-- 这个div是播放器准备输出的位置 --><!-- 引入腾讯视频播放器组件 --> <script language="javascript" src="http://qzs.qq.com/tencentvideo_v1/js/tvp/tvp.pl

(转)开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rtmp协议. webm, ogg, m3u8 !

文章链接:http://justcoding.iteye.com/blog/2110275 CKplayer,其全称为超酷flv播放器,它是一款用于网页上播放视频的软件,支持的格式有:http协议上的flv,f4v,mp4格式,同时支持rtmp视频流格 式播放,此播放器的特点在于用户可以自己定义播放器的风格,诸如播放/暂停按钮,静音按钮,全屏按钮都是以外部图片接口形式调用,用户根据自己的需要制作 出播放器风格所需要使用的各个按钮图片然后替换掉原始风格里相应的图片就可以制作出自己的风格了,具体的各

搭建rtmp直播流服务之4:videojs和ckPlayer开源播放器二次开发(播放rtmp、hls直播流及普通视频)

前面几章讲解了使用 nginx-rtmp搭建直播流媒体服务器; ffmpeg推流到nginx-rtmp服务器; java通过命令行调用ffmpeg实现推流服务; 从数据源获取,到使用ffmpeg推流,再到nginx-rtmp发布流,后端的服务到这里就已经全部完成了. 如果这里的流程没走通,那么这里的播放器也是没办法播放实时流的. 本章讲一下播放器的选用和二次开发,前端的播放器虽然有flex(flash)可以用,但是很遗憾flex接触的并不多,学习成本又太高,那么基于第三方开源的flash播放器二

网页播放器开发(三)--页面展示

(二)页面展示 各位朋友大家好,我们接着上文继续开发,这一节我们主要是把上一节最后的图片素材从新组合,用web形式展现,我们用到的主要工具是:HBuilderX,这个工具我就不介绍了,上手很容易,很好用的,具体情况大家可以百度研究一下. 1.新建项目 首先启动HBuilderX开发工具,新建一个项目,具体操作"文件"→"新建"→"项目"如图2-1所示. 图2-1 新建项目 在弹出的对话框中选择普通项目,项目名称填入"网页播放器"

h5-自定义视屏播放器

1.html代码 1 <h3 class="playerTitle">视屏播放器</h3> 2 <div class="player"> 3 <video src="../mp4/chrome.mp4"></video> 4 <div class="controls"> 5 <!--比如这里的开始和暂停图标就是font-awesome.css文件中的