audio

来自于:官方

play setVolume setProgress pause stop addEventListener getDuration expungeCache

概述

本模块已停止更新,建议使用 audioStreamer

audio 封装了对音频流播放的接口,可播放本地和网络音频。实现对音频资源的播放、暂停、继续、停止、设置播放位置等相关操作。对网络音频资源暂不支持缓存到本地。在 iOS 上如需支持后台播放功能请参考应用配置说明文档里关于 BackgroundMode 的配置

audio - 图1

play

播放网络音频

play({params}, callback(ret, err))

params

path:

  • 类型:字符串
  • 描述:音频资源地址,支持本地和网络协议(如:fs://、widget://、http://、 https:// 等)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. duration //数字类型;音频总时长,单位为秒(s)
  3. current //数字类型;当前播放位置,单位为秒(s)
  4. complete //布尔类型;是否播放完毕
  5. }

示例代码

  1. var audio = api.require('audio');
  2. audio.play({
  3. path: 'http://7xisq1.com1.z0.glb.clouddn.com/apicloud/0d0b81b8bd5ab81bda9ca54267eb9b98.mp3'
  4. }, function(ret, err) {
  5. if (ret) {
  6. alert(JSON.stringify(ret));
  7. } else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVolume

设置音量

setVolume({params})

params

volume:

  • 类型:数字
  • 描述:(可选项)音量大小,取值范围:0-1
  • 默认值:0

示例代码

  1. var audio = api.require('audio');
  2. audio.setVolume({
  3. volume: 0.6
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setProgress

设置播放位置

setProgress({params})

params

progress:

  • 类型:数字
  • 描述:(可选项)播放位置百分比,取值范围:0-100
  • 默认值:0

示例代码

  1. var audio = api.require('audio');
  2. audio.setProgress({
  3. progress: 50
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

pause

暂停播放,暂停后调用 play 接口即可继续播放

pause()

示例代码

  1. var audio = api.require('audio');
  2. audio.pause();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stop

停止播放

stop()

示例代码

  1. var audio = api.require('audio');
  2. audio.stop();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

监听被其它 app 打断事件,或电话事件,暂仅支持 iOS 平台

addEventListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: //字符串类型;交互事件类型,取值范围如下:
  3. //pause:播放暂停(被打断事件开始)
  4. //restart:播放恢复(被打断事件结束)
  5. }

示例代码

  1. var audio = api.require('audio');
  2. audio.addEventListener(function(ret) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. }
  6. });

可用性

iOS系统

可提供的1.0.0及更高版本

getDuration

获取本地音频时长

getDuration({params}, callback(ret))

params

path:

  • 类型:字符串类型
  • 描述:音频的路径 (支持 fs://)

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. duration : 200 // 数字类型;音频的时长;单位:ms
  3. }

示例代码

  1. var audio = api.require('audio');
  2. audio.getDuration({
  3. path: 'fs://recorder/123.mp3'
  4. }, function(ret) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

expungeCache

播放网络音频时,清除本地缓存

注意:本接口仅支持 iOS 平台,android平台上会自动清除

expungeCache()

示例代码

  1. var audio = api.require('audio');
  2. audio.expungeCache();

可用性

iOS系统

可提供的1.0.4及更高版本