热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

HTML5Audio标签API总结

本来前段时间做完那个播放器就该做总结的。但是正好遇到了点事情。忙了一阵子。这两天抽了个空来写总结来了。过两天马上就又要忙了。没办法程序员就是

本来前段时间做完那个播放器就该做总结的。但是正好遇到了点事情。忙了一阵子。这两天抽了个空来写总结来了。过两天马上就又要忙了。没办法程序员就是如此苦逼。大家都懂得。

OK~废话不多说。

那么首先来看一下audio标签中的一些常用属性:

属性 属性值 注释
src url

播放的音乐的url地址(火狐只支持ogg的音乐,而IE9只支持MP3格式的音乐。chrome貌似全支持)

preload preload 预加载(在页面被加载时进行加载或者说缓冲音频),如果使用了autoplay的话那么该属性失效。
loop
loop 循环播放
controls
controls 是否显示默认控制条(控制按钮)
autoplay autoplay 自动播放

来看下对于音乐格式的支持:

音频格式 Chrome Firefox IE9 Opera Safari
OGG 支持 支持 支持 不支持 不支持
MP3 支持 不支持 支持 不支持 支持
WAV 不支持 支持 不支持 支持 不支持

这个表偷懒啦。网上别人文章中扣来的。

audio可通过new来创建。也可以通过用document来获取。

//通过new关键字来创建Audio对象
var Music = new Audio("test.mp3");
//通过document来获取已经存在的Audio对象
var Music = document.getElementById("audio");
//当然这里也可以使用document.getElementsByClassName('className')等其他的方法来获取。

然后我们来看下api所提供的对audio标签操作的一些属性和方法

属性:


属性

注释

duration

获取媒体文件的总时长,以s为单位,如果无法获取,返回NaN

paused

如果媒体文件被暂停,那么paused属性返回true,反之则返回false

ended

如果媒体文件播放完毕返回true

muted 用来获取或设置静音状态。值为boolean
volume 控制音量的属性值为0-1;0为音量最小,1为音量最大

startTime

返回起始播放时间

error

返回错误代码,为uull的时候为正常。否则可以通过Music.error.code来获取具体的错误代码:

1.用户终止 2.网络错误 3.解码错误 4.URL无效

currentTime
用来获取或控制当前播放的时间,单位为s。

currentSrc

以字符串形式返回正在播放或已加载的文件

那么来看下这边常用的控制用的函数:



函数

作用

load()

加载音频、视频软件

play()

加载并播放音频、视频文件或重新播放暂停的的音频、视频

pause()

暂停出于播放状态的音频、视频文件

canPlayType(obj)

测试是否支持给定的Mini类型的文件

OK~那么我们来看下关于audio标签API中的常用事件。

首先绑定事件的话可以通过js中的addEventListener方法来绑定事件。


Music.addEventListener(string:事件类型/名称,function:具体事件促发时的执行,boolean:是否使用捕捉,默认为false);
/*
    参数说明,来自百度百科
    1、type:String
  事件的类型。
  2、listener:Function
  侦听到事件后处理事件的函数。 此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,如以下示例所示: 访问修饰符 function 函数名(evt:Event):void
  3、useCapture:Boolean (default = false)
  这里牵扯到“事件流”的概念。侦听器在侦听时有三个阶段:捕获阶段、目标阶段和冒泡阶段。顺序为:捕获阶段(根节点到子节点检查是否调用了监听函数)→目标阶段(目标本身)→冒泡阶段(目标本身到根节点)。此处的参数确定侦听器是运行于捕获阶段、目标阶段还是冒泡阶段。 如果将 useCapture 设置为 true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。 如果useCapture 为 false,则侦听器只在目标或冒泡阶段处理事件。 要在所有三个阶段都侦听事件,请调用两次 addEventListener,一次将 useCapture 设置为 true,第二次再将useCapture 设置为 false。
*/

常用audio的事件:


事件名称 事件作用
loadstart 客户端开始请求数据
progress 客户端正在请求数据(或者说正在缓冲)
play play()和autoplay播放时
pause pause()方法促发时
ended 当前播放结束
timeupdate 当前播放时间发生改变的时候。播放中常用的时间处理哦
canplaythrough 歌曲已经载入完全完成
canplay 缓冲至目前可播放状态。

OK基本上api的常用的内容就那么多。其实video的api和audio几乎一致。稍稍有点不同。所以基本上会了一个其他的也就都会了。具体的一些的使用方法请参考前两天写的那篇文章中的代码


推荐阅读
  • 在前一篇文章中,我们介绍了如何使用Requests库发送GET请求。本文将深入探讨如何通过Requests库发送POST请求,包括参数格式、请求封装等关键技巧,并通过“历史上的今天”API实例进行详细说明。 ... [详细]
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
  • 本文详细解析了如何利用Appium与Python在真实设备上执行测试示例的方法。首先,需要开启手机的USB调试功能;其次,通过数据线将手机连接至计算机并授权USB调试权限。最后,在命令行工具中验证设备连接状态,确保一切准备就绪,以便顺利进行测试。 ... [详细]
  • 定义Function类型:1functionsum(num1,num2){return num1+num2;}2varsumfunction(num1,num2){returnn ... [详细]
  • 1.CSS3圆角border-radius属性一个最多可指定四个border-*-radius属性的复合属性,这个属性允许你为元素添加圆角边框!语法:border-radius:1 ... [详细]
  • 开发工具WebDeveloper1.1.8https:addons.mozilla.orgen-USfirefoxaddon60以工具栏的形式对网页的(X)HTML、脚本、多媒体、 ... [详细]
  • java 抓包_程序员:服了!移动端测试不会自己抓包,提什么 bug
    无论你是测试人员还是开发人员,移动端抓包是你必须掌握的技能之一。关于使用fiddler抓包,希望你有所收获。1、Fiddler的介绍Fiddler是客户 ... [详细]
  • 小编给大家分享一下Css3中box-pack属性怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收 ... [详细]
  • CSS深入剖析text和column
    这里写目录标题一、text-shadow二、font-face三、其他text常用特性四、column一、text-shadow与box-shadow类似,这里通过 ... [详细]
  • Dom捕捉事件和冒泡事件原理与demo测试
    先参考一下百度百科对冒泡事件流的解释:----------不喜欢读文字的同学,可以直接看下面demo,传递顺序简单明了!ht ... [详细]
  • 利用Java开发百度图片爬虫,实现高效下载功能
    为了满足大量图像素材的需求以支持机器学习项目,本文介绍了一种基于Java语言开发的百度图片爬虫工具,该工具能够高效地抓取并下载百度图片中的资源。文章首先展示了爬虫运行的效果图,并详细阐述了其工作原理和技术实现路径,重点解析了如何通过分析百度图片的网页结构来实现精准抓取。此外,还讨论了在实际应用中可能遇到的问题及解决方案。 ... [详细]
  • 适用于 SSR/WASM 的 ZXing Blazor 扫码组件,高效集成与优化
    本项目基于 ZXing 封装了适用于 SSR 和 WASM 的 Blazor 扫码组件,能够高效地集成到 Blazor 应用中,并支持通过手机或桌面电脑的摄像头进行扫码操作。该组件库不仅简化了开发流程,还提供了高性能的扫码体验。项目地址:[链接] ... [详细]
  • Python与Selenium自动化测试环境配置指南
    Python与Selenium自动化测试环境配置指南 ... [详细]
  • (1)搜狗搜索人物实战 importrequestsurlhttps:www.sogou.comweb?query李荣浩 #首先我们需要观察在搜狗输入李 ... [详细]
  • 探讨.NET技术与Silverlight中控件拖放及复制功能的实现方法
    Silverlight拖动复制控件,就是将控件从一个容器中向另一个容器中拖动时,不是移动控件而把该控件到另一个容器中。这种情形在程序中经常遇到ÿ ... [详细]
author-avatar
mobiledu2502861407
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有