AudioPlayer-音频播放组件

本文介绍基于HaaS JS轻应用,AudioPlayer-音频播放组件提供的相关充电接口说明。

硬件平台

产品型号

是否支持

硬件类型

HaaS600Kit

开发板

HaaS510

DTU

HaaS520

DTU

HaaS530

DTU

HaaS531

DTU

HaaS632-LT32V

模组

HaaS600-EC600S

模组

HaaS600-EC600N

模组

HaaS600-EC600U

模组

HaaS600-N715

模组

audioPlayer

播放实例,通过new来进行创建一个播放器实例

入参

无。

返回

实例类型,播放器实例。

play(String path, function cb)

开始播放指定的音频。

入参

属性

类型

是否必填

描述

path

String

音频文件绝对路径或者音频URL。

支持的音频格式:.mp3.wav.amr

cb

Function

播放完成通知回调。

返回

Number类型。

  • 0:成功。

  • 其他:失败。

pause()

暂停播放。

入参

无。

返回

Number类型。

  • 0:成功。

  • 其他:失败。

resume()

继续播放。

入参

无。

返回

Number类型。

  • 0:成功。

  • 其他:失败。

stop()

停止播放。

入参

无。

返回

Number类型。

  • 0:成功。

  • 其他:失败。

listPlay(Array paths,Function callback)

播放器实例,依次播放列表中的音频文件。

入参

属性

类型

是否必填

描述

path

Array

音频文件绝对路径或者音频URL数组。

说明

一个播放列表中只支持一种音频格式的播放,不允许1个音频列表中存在多种音频格式。

例如:播放列表中的音频文件格式必须都是.wav(或.mp3, 或.amr)。

cb

Function

播放完成通知回调。

返回

Number类型。

  • 0:成功。

  • 其他:失败。

setVolume(Number volume)

设置播放音量。

入参

属性

类型

是否必填

描述

volume

Number

音量大小。

返回

Number类型。

  • 0:成功。

  • 其他:失败。

getVolume()

获取当前音量。

入参

无。

返回

Number类型,当前音量大小。

getState()

获取当前播放器状态。

入参

无。

返回

Number类型,当前播放器状态。

  • 0:播放停止。

  • 1:播放暂停。

  • 2:播放开始。

  • 3:列表播放开始。

  • 4:列表播放结束。

  • 5:播放器错误。

seekto(Number seconds)

从指定位置处开始播放。

入参

属性

类型

是否必填

描述

seconds

Number

播放位置,单位为秒。

返回

Number类型。

  • 0:成功。

  • 其他:失败。

getPosition()

获取当前播放进度。

入参

无。

返回

Number类型,当前播放进度,单位为秒。

getDuration()

获取当前音频文件时长。

入参

无。

返回

Number类型,当前播放音频文件时长,单位为秒。

on('stateChange', function cb)

当播放器状态变化时,触发'stateChange'事件。

回调函数参数有:

属性

类型

描述

state

Number

音频播放器当前状态。

  • 0:播放停止。

  • 1:播放暂停。

  • 2:播放开始。

  • 3:列表播放开始。

  • 4:列表播放结束。

  • 5:播放器错误。

示例代码

/* 加载audioplayer模块 */
import * as player from 'audioplayer';

/*创建一个charger实例 */
var audioPlayerIns = new player.audioPlayer();

/* 定义播放器状态描述 */
var audioplayerState = ['stop', 'paused', 'playing', 'listplay_begin', 'listplay_end', 'error'];

/* 监听播放器状态变化 */
audioPlayerIns.on('stateChange', function(state) {
  console.log('audioplayer state: ' + audioplayerState[state]); 
});

/* 设置音量等级8 */
audioPlayerIns.setVolume(8);

/* 播放本地音频test.mp3并设置播放完成回调 */
audioPlayerIns.play("/test.mp3", function(){console.log('playback complete');});

setTimeout(function() {
  /* 5秒后播放暂停 */
  console.log("playback pause");
  audioPlayerIns.pause();
  
  /* 获取播放进度 */
  var position = audioPlayerIns.getPosition();
  var duration = audioPlayerIns.getDuration();
  console.log('playback progress: ' + position + '/' + duration);
}, 5000)

setTimeout(function() {
  /* 暂停5秒后继续播放 */
  console.log("playback resume");
  audioPlayerIns.resume();
}, 10000)

setTimeout(function() {
  /* 继续播放5秒后从1秒处开始播放 */
  console.log("playback from 1s");
  audioPlayerIns.seekto(1);
}, 15000)

setTimeout(function() {
  /* 获取播放进度 */
  var position = audioPlayerIns.getPosition();
  var duration = audioPlayerIns.getDuration();
  console.log('playback progress: ' + position + '/' + duration);
}, 16000)

setTimeout(function() {
  /* 停止播放 */
  console.log("playback stop");
  audioPlayerIns.stop();
}, 30000)