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 三维变形实现立体方块特效源码
Dec 15 HTML / CSS
IE兼容css3圆角的实现代码
Jul 21 HTML / CSS
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
Feb 27 HTML / CSS
CSS3中Transition动画属性用法详解
Jul 04 HTML / CSS
html5/css3响应式页面开发总结
Oct 16 HTML / CSS
HTML5 画布canvas使用方法
Mar 18 HTML / CSS
html5需遵循的6个设计原则
Apr 27 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
Aug 18 HTML / CSS
使用html5 canvas绘制圆环动效
Jun 03 HTML / CSS
css常用字体属性与背景属性介绍
Feb 28 HTML / CSS
css3新特性的应用示例分析
Mar 16 HTML / CSS
VW、VH适配移动端的解决方案与常见问题
May 21 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
thinkPHP引入类的方法详解
2016/12/08 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
php支付宝APP支付功能
2020/07/29 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
2009/05/25 Javascript
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
采用call方式实现js继承
2014/05/20 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
jQuery验证元素是否为空的两种常用方法
2015/03/17 Javascript
Angular.js跨controller实现参数传递的两种方法
2017/02/20 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
Python语言的12个基础知识点小结
2014/07/10 Python
python关键字and和or用法实例
2015/05/28 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
Python3爬虫全国地址信息
2019/01/05 Python
解决Django连接db遇到的问题
2019/08/29 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
啤酒销售实习自我鉴定
2013/09/24 职场文书
入党申请自荐书范文
2014/02/11 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
生产车间管理制度
2015/08/04 职场文书
2016年校长新年寄语
2015/08/17 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python