[html5]html5手机播放器
[html5]html5手机播放器
[html5]html5手机播放器
1.利用一个DIV作为容器,一个子DIV作为进度条,初始时设定子DIV宽度为0%
2.获取音频文件总时长(有属性可以直接获取(单位为秒))
3.(核心)利用timer计时器来计算当前播放了多少秒,一秒运行一次(可自由设置)
4.利用播放的秒数/文件总秒数/100 =当前的进度条的百分比
5.直接给进度条设定当前宽度
6.判断播放时长和文件时长一致就停止计时器
- <body>
- <div class="top"></div>
- <div id="containner">
- <div style="width: 78px; height: 30px; border-radius: 11px; text-align: center; margin:0px auto; ">
- <div><img id="icon" src="played.jpg" onclick="play()" width="30" height="30" /></div>
- </div>
- <div style="width:100%; height:22px; padding-right:50px;"><span id="showtime" >00:00</span><span>/</span><span id="currenttime">00:00</span></div>
- <div id="barbox" class="graph" style="width:98%">
- <strong id="bar" class="bar" style="width: 0%;"></strong>
- </div>
- <div id="divplayer">
- <audio id="player" src="" loop="0" autostart="true" hidden="true"></audio>
- </div>
- </div>
- </body>
- </html>
- <script language="javascript">
- //成员变量
- var url = 'mp3/myeye.mp3';//(设定文件路径)
- var pausedimg = "paused.png";
- var playedimg = "played.jpg";
- var div = document.getElementById('divplayer');
- var player = document.getElementsByTagName('audio')[0];
- player.src = url;
- //文件长度(秒)
- var fileseconds = 0;
- //定时器对象
- var progressStateTimer;
- //进度条父容器宽度
- var barboxwidth = 0;
- //进度条当前宽度
- var currentbarwidth = 0;
- //每秒追加宽度
- var appendwidth = 0;
- //进度条对象
- var bar;
- //当前运行秒数
- var currentseconds = 0;
- function play() {
- if (player && player.paused) {
- //获取文件时长
- fileseconds = parseInt(player.duration);
- //显示文件时长
- document.getElementById("showtime").innerHTML = (formatTime(fileseconds));
- //获取进度条的容器宽度
- barboxwidth = document.getElementById("barbox").style.width;
- //获取容器变量备用
- bar = document.getElementById("bar");
- //开始播放
- player.play();
- //显示暂停按钮
- document.getElementById("icon").src = pausedimg;
- //执行进度条方法
- progressStateTimer = setInterval(prossbar, 1000);
- } else if (player && player.played) {
- //暂停并停止进度条
- player.pause();
- //显示播放按钮
- document.getElementById("icon").src = playedimg;
- //停止进度条
- clearInterval(progressStateTimer);
- }
- else {
- //进到此处说明player未实例化 或者状态不是播放和暂停
- //dosomething
- }
- }
- var prossbar = function () {
- if (fileseconds > 0) {
- //重新计算新的宽度
- if (currentseconds == 0) {
- appendwidth = 0;
- } else
- {
- appendwidth = (currentseconds / fileseconds) * 100;
- }
- bar.style.width = appendwidth + "%";
- //显示当前播放的时间
- document.getElementById("currenttime").innerHTML = formatTime(currentseconds);
- currentseconds++;
- if (currentseconds > fileseconds || currentbarwidth >= barboxwidth) {
- //停止播放并清除进度条计时器
- player.pause();
- clearInterval(progressStateTimer);
- }
- }
- }
- function formatTime(second) {
- return [parseInt(second / 60 % 60), parseInt(second % 60)].join(":")
- .replace(/\b(\d)\b/g, "0$1");
- }
- </script>
再推荐一个支持pc和手机端\微信端观看视频的免费云服务:酷播云。
酷播云 ( 官网 http://www.cuplayer.com/ )
酷播云,是一款永久免费的视频云服务产品,集视频上传、视频转码、视频存储和视频播放四大功能为一体;全界面化操作平台,使用简单方便;视频无任何广告,提供最佳的观看体验;全终端兼容:微信、手机、PC、平板、智能电视终端,为用户提供在线视频全终端整体解决方案。
热门文章推荐
- 纯HLS(m3u8)跨平台技术(HLSPlayer,m3u8Player跨平台多终端)
- DiscuzX3.2酷播视频插件(dz论坛自定义视频插件带广告
- [微信视频]实现网站中的视频在微信平台上正常播放(超多组图)
- [rtsp]海康威视监控摄像头实现web端无插件监控实拍效果
- 很酷,酷播wordpress视频插件(支持PC/安卓/苹果跨平台播放)
- [组图]微信视频技术:支持微信视频直播和视频点播
- [AS3]as3.0的rtmp流媒体播放器写法源代码示例
- 一步一步教你制作FLV网页视频播放器
请稍候...