使用h5 <audio>标签播放语音
2018-01-16 18:02
295 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>播放语音的demo</title> </head> <body> <div class="lib-audio-main">点击播放语音</div> <!--设置一个清除语音的标签--> <div class="audio-container" style="display: none !important;"></div> </body> </html> <script> var audioContainer = $('.audio-container'); /* 点击播放 */ $(document).on('click', '.lib-audio-main', function() { var icon = $(this).find('.lib-click-listen'); var isPlayed = icon.hasClass('playing-audio'); // 停止其他记录音频播放 stopAudio(); // 如果已经播放则return 不继续操作 if (isPlayed) return; //获取音频的资源路径 var url = icon.attr('data-audio-source'); //添加播放是的演示 移除停止的样式 icon.addClass('playing-audio').removeClass('stop-playing'); //调用方法播放音频 createAudioElement(url); }); // 重新创建 audio 标签来播放选择的音频 function createAudioElement(src) { //使用audio标签 来播放我们想要播放的音频 var audioElement = $('<audio src="' + src + '"></audio>'); $('.audio-container').empty().append(audioElement); audioElement[0].play(); //音频结束停止播放 audioElement[0].addEventListener('ended', function() { stopAudio(); }); } // 音频视图全部设为静态 function stopAudio() { // 清掉 audio 标签 var audioElement = audioContainer.children('audio'); if (audioElement.length !== 0) { audioElement[0].pause(); audioContainer.empty(); } var playingHistory = $('.lib-click-listen.playing-audio'); playingHistory.removeClass('playing-audio').addClass('stop-playing'); // 会话框内记录 var playingRecord = $('.audio-content.playing-audio'); playingRecord.removeClass('playing-audio'); // 被解答语音 var explainAudioTarget = $('.explain-audio-target.playing-audio'); explainAudioTarget.removeClass('playing-audio'); } </script>
相关文章推荐
- 解决node-webkit下使用<audio>标签无法播放音频的问题
- H5 <audio> 音频标签自定义样式修改以及添加播放控制事件
- 关于使用Html <audio>标签播放视频文件的问题
- HTML5<video>标签,使用DOM进行播放控制
- HTML5 - 使用<audio>播放音频
- HTML表格标签的使用-<table>
- Thinkphp的<in>、<notin>和<range>标签的使用和异同
- 为何要使用<merge\>标签
- Spring配置文件<context:property-placeholder>标签使用浅谈<context:property-placeholder
- HTML中<div>标签的一个简单的使用和介绍
- mybatis <association>标签使用
- Android布局优化之<merge>与<ViewStub>标签使用
- SpringMVC访问静态文件,如:jpg,js,css等,<mvc:resources/>标签的使用
- WebView 加载H5 <Input type="file"/>标签上传图片问题
- svg学习笔记-<g>标签结合图形,图片,文字的使用
- Struts2标签<s:iterator>中使用Map
- <s:set>标签中value使用表达式变量的问题
- 使用 <pre> 标签样式的注意事项
- MyBatis中<resultMap>的<association>和<collection>标签的使用
- struts2中<s:doubleselect/>标签的使用心得<原创>