audio获取时长,注意事项,计时器
来源:互联网 发布:中文域名管理 编辑:程序博客网 时间:2024/05/17 02:25
两种情况:1.页面一开始就已经加载了音频,2.点击的时候为audio动态的更改音频路径,播放不同的音频
现象:第一种时长正常,第二种时长audio.duration为nan
分析:第一种情况,获取时长时,已经加载了音频,点击时可以获取音频时长;第二种,点击的时候,音频没有加载(虽然已经开始播放),获取不到时长。
解决方法:audio.addEventListener("canplay", function(){
sc=parseInt(audio.duration);
});监听是否准备好音频,将需要的属性放进去(如:时长),此方法会一直监听,不建议进行其他js操作
<audio id="audio" src="" ></audio><!-- controls="controls" -->
第一种:
var sc=60;//时长var js=null;var audio=document.getElementById("audio");$("#shuohua").click(function(){var y_src=audio.src;var p=$(this).attr("data-p");if(p==1){if(y_src.indexOf(".mp3")>0){$(this).attr("src","voice1.png");audio.play();sc=parseInt(audio.duration);$("#shichang").text(sc);js=setInterval("jianshao_shichang()",1000);}$(this).attr("data-p","0");}else{if(y_src.indexOf(".mp3")>0)audio.pause();$(this).attr("data-p","1");clearInterval(js);audio.load(); }});function jianshao_shichang(){sc--;$("#shichang").text(sc);if(sc<0){clearInterval(js);audio.load(); }}第二种
//音频播放----var sc=60;//时长var js=null;var id="";var audio=document.getElementById("audio");$(".question").on("click",".shuohua",function(e){if(js!=null){clearInterval(js);var all=$(".shuohua");for(var i=0;i<all.length;i++){var t_id=$(all[i]).attr("data-id");$("#vimg_"+t_id).attr("src","voice.png");$("#sc_"+t_id).text("");$("#vimg_"+t_id).attr("data-p","1");}}id=$(e.target).attr("data-id");var datap=$("#vimg_"+id).attr("data-p");var voice=$("#vimg_"+id).attr("data-voice");voice="http://192.168.1.104/amrPlayer-jsdemo/1.mp3";audio.src=voice;if(datap==1){if(voice.indexOf(".mp3")>0){audio.play();$("#vimg_"+id).attr("src","voice1.png");js=setInterval("jianshao_shichang()",1000);audio.addEventListener("canplay", function(){sc=parseInt(audio.duration);});}$("#vimg_"+id).attr("data-p","0");}else{alert(datap);audio.pause();clearInterval(js);audio.load();$("#vimg_"+id).attr("src","voice.png");$("#sc_"+id).text("");$("#vimg_"+id).attr("data-p","1");}});function jianshao_shichang(){sc--;$("#sc_"+id).text(sc);if(sc<0){clearInterval(js);audio.load();$("#vimg_"+id).attr("src","voice.png");$("#sc_"+id).text("");$("#vimg_"+id).attr("data-p","1");}}
兼容,在安卓和window中时长正常,在ios浏览器中,时长获取不正常
0 0
- audio获取时长,注意事项,计时器
- html5 audio 获得时长
- 获取通话时长
- 获取视频时长
- 获取视频时长
- Android获取验证码时的计时器
- Unity长按屏幕计时器
- js获取视频时长
- PHP获取音频文件时长
- Java获取视频文件时长
- java获取音频时长
- jave获取视频时长
- 获取录音文件时长
- curl 获取请求时长
- 获取音频文件的时长
- Java获取视频文件时长
- jave获取视频时长
- js获取视频时长
- logstash部署
- 设计模式总结之Mememto Pattern(备忘录模式)
- R箱线图
- 用EF初始化数据库
- Redis与Memcached的区别
- audio获取时长,注意事项,计时器
- 爬虫小试第二天
- 小火山的计算能力
- redis学些教程——快速了解redis
- 数据结构实验之二叉树一:树的同构
- maven nexus配置
- CSDN的东革阿里是骗人的?
- VS2012 颜色配置成黑色
- [翻译] 凹凸贴图(bump mapping) 节选自RTR 6.7