# 音频 audio

音频播放示例代码 (opens new window)

# 导入模块

import audio from '@system.audio';

# 属性

名称 参数类型 是否可读 是否可写 必填 描述
src String 播放的音频媒体 uri
currentTime Number 音频的当前进度,单位秒,对值设置可以调整播放进度
duration Number 音频的播放时长,单位秒,未知返回 NaN
autoplay Boolean 音频是否自动播放,默认 false
loop Boolean 音频是否循环播放,默认 false
volume Number 音频的音量,默认当前系统媒体音量,音量变化范围[0.0,1.0]
muted Boolean 音频是否静音,默认 false
  • 示例
audio.src = './hello.mp3';

目前其他属性不支持 audio.属性名 获取和设置,后续版本迭代更新支持

# 方法

# audio.play()

开始播放音频

  • 示例
audio.src = './hello.mp3';
audio.play();

# audio.pause()

暂停播放音频

  • 示例
audio.pause();

# audio.stop()

停止音频播放,可以通过 play 重新播放音频

  • 示例
audio.stop();

# audio.getPlayState(OBJECT)

获取当前播放状态数据

  • 参数
参数名 类型 必填 说明
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
  • success 返回值
参数值 类型 说明
state String 播放状态,分别为'play','pause','stop'
src String 当前播放的音频媒体 uri,停止时返回空字符串
currentTime Number 当前音频的当前进度,单位秒,停止时返回-1
autoplay Boolen 当前音频是否在自动播放
loop Boolen 当前音频是否在循环播放
volume Number 当前音频的音量,默认当前系统媒体音量,音量变化范围[0.0,1.0]
muted Boolen 当前音频是否在静音播放
  • 示例
audio.getPlayState({
  success: function(data) {
    console.log(`handling success: state: ${data.state},src:${ data.src },currentTime:${data.currentTime},
	autoplay:${data.autoplay},loop:${ data.loop },volume: ${data.volume},muted:${data.muted}`)
  },
  fail: function(data, code) {
    console.log('handling fail, code=' + code)
  }
})

# 事件

名称 描述
play 在调用 play 方法后或者 autoplay 为 true 时的回调事件
pause 在调用 pause 方法后的回调事件
stop 在调用 stop 方法后的回调事件
loadeddata 第一次获取到音频数据的回调事件
ended 播放结束时的回调事件
durationchange 播放时长变化时的回调事件
error 播放发生错误时的回调事件
timeupdate 播放进度变化时触发,可实现进度条
  • 示例
audio.onplay = ()=>{
  console.log('playing');
}
audio.ontimeupdate = data => {
    console.log(data.currentTime)
}