HTML5 audio标签使用js进行播放控制实例


Posted in HTML / CSS onApril 24, 2015

<audio>标签可以在HTML5浏览器中播放音频文件。

<audio>默认提供一个控制面板,但是有些时候我们只需要播放声音,控制面板由我们自己来定义其显示的状态。

这里我们可以使用JS来进行控制,代码如下:

复制代码
代码如下:

var audio ;
window.onload = function(){
initAudio();
}
var initAudio = function(){
//audio = document.createElement("audio")
//audio.src='Never Say Good Bye.ogg'
audio = document.getElementById('audio');
}
function getCurrentTime(id){
alert(parseInt(audio.currentTime) + ':秒');
}

function playOrPaused(id,obj){
if(audio.paused){
audio.play();
obj.innerHTML='暂停';
return;
}
audio.pause();
obj.innerHTML='播放';
}

function hideOrShowControls(id,obj){
if(audio.controls){
audio.removeAttribute('controls');
obj.innerHTML = '显示控制框'
return;
}
audio.controls = 'controls';
obj.innerHTML = '隐藏控制框'
return;
}
function vol(id,type , obj){
if(type == 'up'){
var volume = audio.volume + 0.1;
if(volume >=1 ){
volume = 1 ;

}
audio.volume = volume;
}else if(type == 'down'){
var volume = audio.volume - 0.1;
if(volume <=0 ){
volume = 0 ;
}
audio.volume = volume;
}
document.getElementById('nowVol').innerHTML = returnFloat1(audio.volume);
}
function muted(id,obj){
if(audio.muted){
audio.muted = false;
obj.innerHTML = '开启静音';
}else{
audio.muted = true;
obj.innerHTML = '关闭静音';
}
}
//保留一位小数点

function returnFloat1(value) {
value = Math.round(parseFloat(value) * 10) / 10;
if (value.toString().indexOf(".") < 0){
value = value.toString() + ".0";
}
return value;
}


调用方式如下:

复制代码
代码如下:

<a href="javascript:void(0);" onclick="getCurrentTime('firefox');">获取播放时间</a>
<a href="javascript:void(0);" onclick="playOrPaused('firefox',this);">播放</a>
<a href="javascript:void(0);" onclick="hideOrShowControls('firefox',this);">隐藏控制框</a>
<a href="javascript:void(0);" onclick="muted('firefox',this);">开启静音</a>
<input type="button" value="+" id="upVol" onclick="vol('firefox' , 'up' , this )"/>音量<input type="button" value="-" onclick="vol('firefox' , 'down' ,this )"/>
<audio src="/images/audio/Never Say Good Bye.ogg" id="audio" controls="controls" ></audio>

当前音量:<span id = "nowVol"> - </span>

HTML / CSS 相关文章推荐
利用纯CSS3实现文字向右循环闪过效果实例(可用于移动端)
Jun 15 HTML / CSS
CSS3 transform的skew属性值图文详解
Jul 21 HTML / CSS
CSS3媒体查询Media Queries基础学习教程
Feb 29 HTML / CSS
html5新增的定时器requestAnimationFrame实现进度条功能
Dec 13 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
Feb 06 HTML / CSS
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
Jul 19 HTML / CSS
让IE下支持Html5的placeholder属性的插件
Sep 02 HTML / CSS
HTML5各种头部meta标签的功能(推荐)
Mar 13 HTML / CSS
原生CSS实现文字无限轮播的通用方法
Mar 30 HTML / CSS
html+css实现文字折叠特效实例
Jun 02 HTML / CSS
新的CSS 伪类函数 :is() 和 :where()示例详解
Aug 05 HTML / CSS
html,css,javascript是怎样变成页面的
May 07 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
Apr 24 #HTML / CSS
HTML5 video播放器全屏(fullScreen)方法实例
Apr 24 #HTML / CSS
HTML5 video标签(播放器)学习笔记(二):播放控制
Apr 24 #HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
Apr 24 #HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
Apr 24 #HTML / CSS
HTML5 Canvas中绘制椭圆的4种方法
Apr 24 #HTML / CSS
HTML5 Convas APIs方法详解
Apr 24 #HTML / CSS
You might like
如何隐藏你的.php文件
2007/01/04 PHP
php 中的str_replace 函数总结
2007/04/27 PHP
PHP之数组学习
2011/05/29 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
2017/02/15 PHP
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
windows系统下更新nodejs版本的方案
2017/11/24 NodeJs
element ui里dialog关闭后清除验证条件方法
2018/02/26 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
2021/01/29 Python
Mansur Gavriel官网:纽约市的一个设计品牌
2019/05/02 全球购物
德国购买门票网站:ADticket.de
2019/10/31 全球购物
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
C#里面可以避免一个类被其他类继承么?如何?
2013/09/26 面试题
办公室文秘岗位职责
2013/11/15 职场文书
长辈证婚人证婚词
2014/01/09 职场文书
高中物理教学反思
2014/02/08 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
一体化教学实施方案
2014/05/10 职场文书
银行金融服务方案
2014/06/11 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
2019毕业典礼主持词!
2019/07/05 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python
详解Redis复制原理
2021/06/04 Redis
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS