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教程:background-clip和background-origin
Oct 17 HTML / CSS
CSS伪类与CSS伪元素的区别及由来具体说明
Dec 07 HTML / CSS
使用简单的CSS3属性实现炫酷读者墙效果
Jan 08 HTML / CSS
你不知道的5个HTML5新功能
Jun 28 HTML / CSS
HTML5移动端开发遇见的东西
Oct 11 HTML / CSS
html5 offlline 缓存使用示例
Jun 24 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
Dec 30 HTML / CSS
HTML页面中添加Canvas标签示例
Jan 01 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
May 07 HTML / CSS
html5唤起app的方法
Nov 30 HTML / CSS
详解Canvas实用库Fabric.js使用手册
Jan 07 HTML / CSS
position:sticky 粘性定位的几种巧妙应用详解
Apr 24 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 获取远程文件内容的函数代码
2010/03/24 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
2017/02/15 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
Javascript 面向对象之重载
2010/05/04 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
Json解析的方法小结
2016/06/22 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
基于canvas实现手写签名(vue)
2020/05/21 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
CSS3实现的闪烁跳跃进度条示例(附源码)
2013/08/19 HTML / CSS
Nordgreen台湾官网:极简北欧设计手表
2019/08/21 全球购物
一套C#面试题
2013/10/09 面试题
旅游与环境专业求职信
2014/06/05 职场文书
宣传口号大全
2014/06/16 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
高中团支书竞选稿
2015/11/21 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
golang 实现Location跳转方式
2021/05/02 Golang
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis