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教程(9):设置RGB颜色
Apr 02 HTML / CSS
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
Nov 21 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(三)
Jan 21 HTML / CSS
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
Apr 14 HTML / CSS
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
Sep 15 HTML / CSS
HTML5 3D衣服摇摆动画特效
Mar 17 HTML / CSS
canvas绘制圆角头像的实现方法
Jan 17 HTML / CSS
html5视频自动横过来自适应页面且点击播放功能的实现
Jun 03 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
Aug 20 HTML / CSS
CSS3 制作精美的定价表
Apr 06 HTML / CSS
关于flex 上下文中自动 margin的问题(完整例子)
May 20 HTML / CSS
CSS link与@import的区别和用法解析
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生成带有雪花背景的验证码
2006/10/09 PHP
Yii中使用PHPExcel导出Excel的方法
2014/12/26 PHP
Yii 框架使用Forms操作详解
2020/05/18 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
介绍Python中的文档测试模块
2015/04/28 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
如何写python的配置文件
2020/06/07 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
城市轨道专业个人求职信范文
2013/09/23 职场文书
物理教学随笔感言
2014/02/22 职场文书
岗位职责说明书
2014/05/07 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书
python如何查找列表中元素的位置
2022/05/30 Python
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库