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的object-fit来调整图片适配尺寸的技巧简介
Feb 27 HTML / CSS
详解Sticky Footer 绝对底部的两种套路
Nov 03 HTML / CSS
在html5的Canvas上绘制椭圆的几种方法总结
Jan 07 HTML / CSS
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
Apr 24 HTML / CSS
实例教程 利用html5和css3打造一款创意404页面
Oct 20 HTML / CSS
HTML5中判断横屏竖屏的方法(移动端)
Aug 04 HTML / CSS
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
May 18 HTML / CSS
HTML5 source标签:媒介元素定义媒介资源
Jan 29 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
Aug 23 HTML / CSS
HTML5播放实现rtmp流直播
Jun 16 HTML / CSS
HTML怎么设置下划线?html文字加下划线方法
Dec 06 HTML / CSS
HTML中的表单元素介绍
Feb 28 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
php语法检查的方法总结
2019/01/21 PHP
[原创]图片分页查看
2006/08/28 Javascript
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
JavaScript操作class和style样式代码详解
2016/02/13 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
vue component 中引入less文件报错 Module build failed
2019/04/17 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
js实现简单进度条效果
2020/03/25 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
给Python初学者的一些编程技巧
2015/04/03 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
python 日期排序的实例代码
2019/07/11 Python
python处理excel绘制雷达图
2019/10/18 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
html5清空画布方法(三种)
2017/10/16 HTML / CSS
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
大学生职业规划书的范本
2014/02/18 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers