属性名 类型 默认值 说明
id String
 
video 组件的唯一标识符
src String
 
要播放音频的资源地址
loop Boolean false 是否循环播放
controls Boolean true 是否显示默认控件
poster String
 
默认控件上的音频封面的图片资源地址,如果 controls 属性值为 false 则设置 poster 无效
name String 未知音频 默认控件上的音频名字,如果 controls 属性值为 false 则设置 name 无效
author String 未知作者 默认控件上的作者名字,如果 controls 属性值为 false 则设置 author 无效
binderror EventHandle
 
当发生错误时触发 error 事件,detail = {errMsg: MediaError.code}
bindplay EventHandle
 
当开始/继续播放时触发play事件
bindpause EventHandle
 
当暂停播放时触发 pause 事件
bindtimeupdate EventHandle
 
当播放进度改变时触发 timeupdate 事件,detail = {currentTime, duration}
bindended EventHandle
 
当播放到末尾时触发 ended 事件

这是标签audio的一些属性。。如果当。audio出现错误的时候 如 binderror:function(e){}这个方法时 e.detail.errMsg会报如下错误。

返回错误码 描述
MEDIA_ERR_ABORTED 获取资源被用户禁止
MEDIA_ERR_NETWORD 网络错误
MEDIA_ERR_DECODE 解码错误
MEDIA_ERR_SRC_NOT_SUPPOERTED 不合适资源

例外 audio 还有一个是 action 属性,这个属性接受的参数 是一个object类型。他有两个值是:method 和 data

method 描述 data
play 播放
 
pause 暂停
 
setPlaybackRate 调整速度 倍速
setCurrentTime 设置当前时间 播放时间

另外audio还可可以创建并返回上下文的audioContext对象。。。前端的童鞋可以把他理解成 getElementById。

他的调用方法是  wx.createAudioContext(audioId) 他的方法则如下。
方法 参数 说明
play 播放
pause 暂停
seek position(number) 跳转到指定位置,单位 s
/* ---page/test/test.wxml----*/
 
<audio  id="myAudio" 
        poster="{{poster}}" 
        name="{{name}}" 
        author="{{author}}" 
        src="{{src}}"  
        controls loop
        bindplay="audiobindplay"
        bindpause="audiobindpause"
        bindtimeupdate="audiobindtimeupdate"
        bindended="audiobindended"
        binderror="audiobinderror"></audio>
 
<button type="primary" bindtap="audioPlay">播放</button>
<button type="primary" bindtap="audioPause">暂停</button>
<button type="primary" bindtap="audio14">设置当前播放时间为14秒</button>
 

/* ---page/test/test.wxml----*/

 
/* ---page/test/test.js----*/
 
// audio.js
Page({
  onReady: function (e) {
    // 使用 wx.createAudioContext 获取 audio 上下文 context
    this.audioCtx = wx.createAudioContext('myAudio')
  },
  data: {
    name: '此时此刻'//歌曲名称
    author: '许巍',   //作者名称
  },
  //以下是 js的api
  audioPlay: function () {
    this.audioCtx.play()
  },
  audioPause: function () {
    this.audioCtx.pause()
  },
  audio14: function () {
    this.audioCtx.seek(14)
  },
  //以下是audio的属性。
  audiobindplay:function(e){
    console.log("音频开始播放")
  },
  audiobindpause:function(e){
    console.log("音频暂停中")
  },
  audiobindtimeupdate:function(e){
    console.log("修改了当前的播放时间。")
  },
  audiobindended:function(e){
    console.log("音频播放结束")
  },
  audiobinderror:function(e){
    console.log("音频出错了。\n",e.detail.errMsg)
  }
})
 
/* ---page/test/test.js----*/    
那么主要注意的是  audiobindtimeupdate 这个方法 他并不是用户修改了当前播放时间才执行,而是音乐在播放的时候他都会执行N次。具体执行一下就好了。
 
 

十:audio 音频的更多相关文章

  1. html5 audio音频播放全解析

    序 html5开启了一个新时代,因为它让浏览器本身变得不那么被动,audio api就是一个典型的列子,在html5还没确定之前,如果想要在网页上听音乐看视频唯一的办法就是用flash意思是当你没有给 ...

  2. [小程序开发] 微信小程序audio音频播放组件+api_wx.createAudioContext

    引言: audio是微信小程序中的音频组件,可以轻松实现小程序中播放/停止音频等自定义动作. 附上微信小程序audio组件的相关属性说明:https://mp.weixin.qq.com/debug/ ...

  3. HTML5 学习07——Video(视频)Audio(音频)

    <video> 元素:提供了 播放.暂停和音量控件来控制视频. width 和 height 属性:控制视频的尺寸 <video> 与</video> 标签之间插入 ...

  4. iphone在微信中audio 音频无法自动播放

    问题: Html5的audio 音频在电脑端和android端都可以实现自动播放,在iphone上无法实现,下面针对的是微信浏览器里面的解决方法 html代码: <div id="au ...

  5. H5 <audio> 音频标签自定义样式修改以及添加播放控制事件

    H5 <audio> 音频标签自定义样式修改以及添加播放控制事件 Dandelion_drq 关注 2017.08.28 14:48* 字数 331 阅读 2902评论 3喜欢 3 说明: ...

  6. HTML5: HTML5 Audio(音频)

    ylbtech-HTML5: HTML5 Audio(音频) 1.返回顶部 1. HTML5 Audio(音频) HTML5 提供了播放音频文件的标准. 互联网上的音频 直到现在,仍然不存在一项旨在网 ...

  7. js获取html5 audio 音频时长方法

    <audio src="我的好兄弟.mp3" controls="controls"  id="audio" style=" ...

  8. HTML5 - 使用JavaScript控制<audio>音频的播放

    有时我们需要使用js来控制播放器实现音乐的播放,暂停.或者使用js播放一些音效.   1,通过JavaScript控制页面上的播放器 比如把页面上添加一个<audio>用来播放背景音乐(由 ...

  9. 【HTML5】audio音频

    当前,audio 元素支持三种音频格式:   IE 9 Firefox 3.5 Opera 10.5 Chrome 3.0 Safari 3.0 Ogg Vorbis   √ √ √   MP3 √ ...

随机推荐

  1. 知物由学 | AI网络安全实战:生成对抗网络

    本文由  网易云发布. “知物由学”是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道.“知物由学” ...

  2. python--生成器,生成器推导式, yield from

    一.生成器 生成器的本质就是迭代器,它一个一个的创建对象. 在python中有三种方式获取生成器: 1.通过生成器函数 2.通过各种推导式来实现生成器 3.通过数据的类型转换也可以获取生成器 二.生成 ...

  3. 201621123023《Java程序设计》第14周学习总结

    一.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 由于我的系 ...

  4. 【OCP-052】052最新考试题库分析整理-第7题

    7.Which is true about external tables? A) The ORACLE_DATAPUMP access driver can be used to write dat ...

  5. telnet 工具

    关于 telnet 命令 telnet命令通常用来远程登录.telnet程序是基于TELNET协议的远程登录客户端程序.Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标 ...

  6. 第三天,爬取伯乐在线文章代码,编写items.py,保存数据到本地json文件中

        一. 爬取http://blog.jobbole.com/all-posts/中的所有文章     1. 编写jobbole.py简单代码 import scrapy from scrapy. ...

  7. Spring Boot 之 Hello World 战记

    1. Maven创建SpringBoot项目 2. application.properties spring.session.store-type=none // 解决默认的30+编译错误 3. d ...

  8. iOS --高仿QQ空间页面

    1.首先分析一下qq空间页面的主要2个功能: 1)随着TableView的向上滑动导航栏的颜色渐变,变化过程是从透明变成白色. 2)随着TableView的向下滑动,图片随着offset放大. 2.首 ...

  9. c/c++ int,float,short 大小端转换函数

    unsigned int(uint32_t)大小端转换函数 unsigned int BLEndianUint32(unsigned int value) { return ((value & ...

  10. 基础概念——令人迷惑的EOF

    EOF概念常常使人迷惑. 首先我们要理解并没有像EOF字符这样的东西. 进一步讲EOF是由内核检测到的一种条件. 应用程序在它接收到由read函数返回的零返回码时,它就会发现EOF条件. 对于磁盘文件 ...