音频播放问题
来源:互联网 发布:js设置select不可用 编辑:程序博客网 时间:2024/05/23 10:39
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"><title>音频</title><style type="text/css">*{margin:0;padding:0;box-sizing: border-box}body{background:#fff;}.audio_context{ width:550px; height:370px; margin:40px auto; border:1px solid #ccc; background-color:#2D96FB;}p{ margin:10px 0; color:#fff;}#paly_bg{ width:380px; height:30px;padding: 0 8px; float: left;}#play_bar{ width:100%; height:8px; background:#D7EAF6; position:relative; left:0; top:11px;}.play_cur_bar{ width:8px; height:8px; border-radius:8px; background-color:#4F95EA; position:absolute; left:0; top:0px; text-indent:-20000em; z-index:5;}.highlight_bar{ position:absolute;left:0; top:0; height:8px; width:0; z-index:0; background-color:#4F95EA;} #audio_play{ float: left; } #play_time{ float: left; color:#000; }</style></head><body><div class="audio_context"> <div id="song_list" style="height: 328px;padding: 20px"> <h4 style="color:#fff">播放信息</h4> <ul style="list-style: none"> <li> <p>当前播放文件:<span id="audio_name"></span></p> </li> <li> <p>执行人:<span >张三</span></p> </li> <li> <p>执行时间:<span></span>2017-3-3</p> </li> <li> <p>描述:<span></span>这是一个测试案件</p> </li> </ul> </div> <div style="width: 100%;height:40px;background: #FAFAFA"> <img src="play.png" id="audio_play" style="margin: 5px"> <div id="paly_bg"> <div id="play_bar"> <div class="highlight_bar"> </div> <div class="play_cur_bar"> 播放条 </div> </div> </div> <div id="play_time"> <span id="curTime">00:00:00</span> / <span id="allTime">00:00:00</span> </div> </div><audio id="source" src=""></audio></div><script src="../../src/bootstrap/js/jquery-1.11.3.js"></script><script type="text/javascript">window.onload=function(){ var source=document.querySelector('#source'); var playImg=document.querySelector('#audio_play'); var name=document.querySelector('#audio_name'); var curTime=document.querySelector('#curTime'); var allTime=document.querySelector('#allTime'); //进度条 var playBar=document.querySelector('#play_bar'); var playCurBar=playBar.querySelector('.play_cur_bar'); var hightLight=playBar.querySelector('.highlight_bar'); source.src='擦肩而过.mp3'; //播放进度 var playTime_timer=null; //进度条 var play_range=parseInt(getStyle(playBar,'width'))-parseInt(getStyle(playCurBar,'width')); source.onpause=function(){ clearInterval(playTime_timer); $(playImg).attr('src','play.png') }; source.onplay=function(){ playTimeTimer(); clearInterval(playTime_timer); playTime_timer=setInterval(playTimeTimer,500); $(playImg).attr('src','pause.png') }; source.ondurationchange=function(){ var h=Math.floor(source.duration/3600), m=Math.floor(source.duration/60), s=Math.round(source.duration%60); allTime.innerHTML=supply0(h)+':'+supply0(m)+':'+supply0(s); }; source.onloadeddata=initParam; //播放、暂停 playImg.onclick=function(){ if(source.paused){ source.play(); }else{ source.pause(); } }; //初始化播放文件 function initParam(){ var nameDetails=source.currentSrc.substring(source.currentSrc.lastIndexOf('/')+1,source.currentSrc.lastIndexOf('.')); name.innerHTML=decodeURI(nameDetails); } //播放进度 function playTimeTimer(){ var cur=source.currentTime; console.log(cur); var h=Math.floor(cur/3600); var m=Math.floor(cur/60); var s=Math.round(cur%60); curTime.innerHTML=supply0(h)+':'+supply0(m)+':'+supply0(s); var play_scale=source.currentTime/source.duration; var val=play_range*play_scale; playCurBar.style.left=val+'px'; hightLight.style.width=val+'px'; }};function getStyle(obj,name){ return obj.currentStyle?obj.currentStyle[name]:getComputedStyle(obj,false)[name];}function supply0(n){ if(n<10){ return '0'+n; }else{ return n; }}</script></body></html>
阅读全文
0 0
- iOS音频播放问题
- 音频播放问题
- 树莓派播放音频杂音问题
- ffplay播放音频失败问题
- 关于游戏音频播放问题
- DS上音频播放相关问题
- iOS音频播放参数设置问题(rtsp)
- s5pv210 音频播放问题 MPlayer移植
- ac3音频 机顶盒播放音量变小问题
- pjsua播放rtp音频包问题
- 移动端H5音频播放问题
- Android 音频录制和播放问题
- Unity3D播放音频数组的问题
- ffmpeg 音频播放器的播放没声音的问题
- android的本地音频播放问题....为什么不能播放音乐?
- 音频播放
- 音频播放
- 音频播放
- 机器学习&深度学习视频资料大汇总
- tornado----编写简易的服务器
- Supervisor-进程管理
- node
- 大话 AliPay踩的坑
- 音频播放问题
- CF306C:White, Black and White Again(组合数)
- hdu
- Androidpn项目搭建
- INSTALL_FAILED_INVALID_APK: Split lib_slice_5_apk was defined multiple times异常
- MyBatis的动态sql的like拼接
- 二分查找之Java实现
- 彻底搞懂HTTP协议
- nvm 安装 node