audioHelper.js
1.4 KB
define(["mUtil","css!FSound_css"],function(s){var d=function(){$(".wev-audio audio").each(function(){var t=$(this);this.paused||(this.pause(),t.siblings(".wev-audio-status").removeClass("playing").removeClass("error"),s.getLabel(5328,"继续播放",function(e){t.siblings(".wev-audio-tips").text(e)}))})};return{playAudio:function(e){if(e.hasAttribute("data-audio")){var i=$(e).children(".wev-audio-container"),a=i.children(".wev-audio-status"),n=i.children(".wev-audio-tips"),o=i.find("audio")[0];i.off("click.listenaudio"),i.on("click.listenaudio",function(e){if(o&&o.hasAttribute("loaded")){if(null!=o.error)return a.addClass("error"),void s.getLabel(5292,"语音加载出错",function(e){n.text(e)});var t=o.duration;t&&!isNaN(t)&&t!=1/0&&i.siblings(".wev-audio-time").text(parseInt(t)+'"'),o.paused?(d(),o.played.length||o.load(),o.play(),a.removeClass("error").addClass("playing"),n.text("")):(o.pause(),a.removeClass("playing"),s.getLabel(5328,"继续播放",function(e){n.text(e)})),e.stopPropagation(),e.preventDefault()}}),o.addEventListener("error",function(){a.addClass("error"),s.getLabel(5292,"语音加载出错",function(e){n.text(e),o.removeAttribute("loaded")})}),o.addEventListener("ended",function(){a.removeClass("playing"),s.getLabel(5290,"重新播放",function(e){n.text(e)}),o.currentTime=0,o.load()},!1)}},pauseAllAudios:d,reloadAudios:function(e){e.each(function(){this.played.length&&this.load()})}}});