audio

来自于:官方

概述

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

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

play

播放网络音频

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

params

path:

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

callback(ret, err)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setVolume

设置音量

setVolume({params})

params

volume:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setProgress

设置播放位置

setProgress({params})

params

progress:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

pause

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

pause()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stop

停止播放

stop()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

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

addEventListener(callback(ret))

callback(ret)

ret:

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

示例代码

var audio = api.require('audio');
audio.addEventListener(function(ret) {
    if (ret) {
        alert(JSON.stringify(ret));
    } 
});

可用性

iOS系统

可提供的1.0.0及更高版本

getDuration

获取本地音频时长

getDuration({params}, callback(ret))

params

path:

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

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

expungeCache

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

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

expungeCache()

示例代码

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

可用性

iOS系统

可提供的1.0.4及更高版本