audioRecorder

来自于:开发者

概述

audioRecorder 模块通过封装系统的录音接口,能够快速的为开发者提供一个完整的录音功能。该模块提供Android和iOS版本,录音方式及录制的音频格式也依赖于相关系统。

  • Android系统支持的录制音频格式为:amr、aac、3gp
  • iOS 系统支持的录制音频格式为:aac、wav

startRecord

开始录音

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

params

channel:

  • 类型:数字
  • 描述:(可选项)声道支持
  • 默认:2
  • 取值范围:
    • 1 单声道
    • 2 立体声道

sampleRates:

  • 类型:数字
  • 描述:(可选项)采样率
  • 默认:16000
  • 取值范围:
    • aac 支持范围(8000 - 96000)
    • amr 支持 8000、16000
    • pcm 只支持 16000

savePath:

  • 类型:字符串
  • 描述:保存路径 (仅支持 fs://)

format:

  • 类型:字符串
  • 描述:(可选项)音频格式
  • 取值范围:
    • aac (支持Android 4.1+ & iOS)
    • pcm (支持Android & iOS)
    • amr (仅支持Android)
    • 3gp (仅支持Android)
    • caf (仅支持 iOS)
    • wav (仅支持 iOS)
    • acm (仅支持 iOS)

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    status : true // 布尔类型;是否录音成功
}

err:

  • 类型:JSON对象
  • 描述:错误信息
{
        errCode : 0 // 数字类型;错误码,取值范围如下:
                    // 0 初始化失败
                    // 1 格式不支持
                    // 2 输出路径无效
                    // 3 未知错误
}

示例代码

var audioRecorder = api.require('audioRecorder');
audioRecorder.startRecord({
    savePath:'fs://test.amr',
    format:'amr'
}, function(ret, err){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getVolume

获取当前/实时音量

getVolume(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    volume: 100 // 数字类型, 当前振幅
}

示例代码

var audioRecorder = api.require('audioRecorder');
audioRecorder.getVolume(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

添加事件监听者

addEventListener({params},callback(ret))

params

name:

  • 类型:字符串
  • 描述:(可选项)要监听对象的名字。
  • 取值范围:volume

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    volume: 100 // 数字类型, 当前振幅
}

示例代码

var audioRecorder = api.require('audioRecorder');
audioRecorder.addEventListener({
     name: 'volume'
}function(ret){
     alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopRecord

停止录音

stopRecord(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    status : true // 布尔类型;是否停止成功
}

示例代码

var audioRecorder = api.require('audioRecorder');
audioRecorder.stopRecord(function(ret){
    alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

covertToMp3

转换成Mp3

covertToMp3({params}, callback(ret))

params

channel:

  • 类型:数字
  • 描述:(可选项)声道支持
  • 默认:2
  • 取值范围:
    • 1 单声道
    • 2 立体声道

sampleRates:

  • 类型:数字
  • 描述:(可选项)采样率
  • 默认:16000

originalFilePath:

  • 类型:字符串
  • 描述:要转化的音频文件路径 (仅支持 fs://)

mp3FilePath:

  • 类型:字符串
  • 描述:mp3音频文件路径 (仅支持 fs://)

quality:

  • 类型:数字类型
  • 描述:音频质量
  • 默认:1
  • 取值范围:(0 - 9)

提示

iOS平台仅支持wav,caf,acm,pcm格式,Android平台仅支持pcm格式。

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    status : true // 布尔类型;是否转换成功
}

示例代码

var audioRecorder = api.require('audioRecorder');
audioRecorder.covertToMp3({
          channel: 2,
          sampleRates: 16000,
          originalFilePath: 'fs://recorder/123.wav',
          mp3FilePath: 'fs://recorder/123.mp3'
}, function(ret) {
          alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getAttr

获取文件属性(文件大小和音频时长)

getAttr({params}, callback(ret))

params

path:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
{
    duration : 100000   // 数字类型;音频的时长;单位:ms
    length   : 6434734  // 数字类型;文件大小;单位:byte
}

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本