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实现简单的checkbox复选框和radio单选框
Nov 05 HTML / CSS
一款利用纯css3实现的win8加载动画的实例分析
Dec 11 HTML / CSS
浅析与CSS3的loading动画加载相关的transition优化
May 18 HTML / CSS
CSS3中几个新增加的盒模型属性使用教程
Mar 01 HTML / CSS
实例讲解CSS3中Transform的perspective属性的用法
Apr 22 HTML / CSS
CSS3制作漂亮的照片墙的实现代码
Jun 08 HTML / CSS
关于h5中的fetch方法解读(小结)
Nov 15 HTML / CSS
详解webapp页面滚动卡顿的解决办法
Dec 26 HTML / CSS
可能这些是你想要的H5软键盘兼容方案(小结)
Apr 23 HTML / CSS
HTML5 图片预加载的示例代码
Mar 25 HTML / CSS
浅谈amaze-ui中datepicker和datetimepicker注意的几点
Aug 21 HTML / CSS
浅析CSS在DevTools 中架构演变
Oct 05 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编程最快明白》第三讲:php数组
2010/11/01 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
js利用div背景,做一个竖线的效果。
2008/11/22 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
linux 后台运行node服务指令方法
2018/05/23 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
浅谈django orm 优化
2018/08/18 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
详解Python:面向对象编程
2019/04/10 Python
Python调用飞书发送消息的示例
2020/11/10 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
python定义具名元组实例操作
2021/02/28 Python
小学红领巾中秋节广播稿
2014/01/13 职场文书
大学生志愿者感言
2014/01/15 职场文书
高一军训的心得体会
2014/09/01 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
民主生活会汇报材料
2014/12/15 职场文书
爱晚亭导游词
2015/02/09 职场文书
安娜卡列尼娜观后感
2015/06/11 职场文书
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
MySQL索引 高效获取数据的数据结构
2022/05/02 MySQL
redis protocol通信协议及使用详解
2022/07/15 Redis