audioRecorder

getVolume resumeRecord stopRecord getAttr

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

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

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

startRecord

开始录音

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

channel:

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

sampleRates:

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

savePath:

  • 类型:字符串

format:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值

err:

  • 类型:JSON对象
  • 描述:错误信息
  1. errCode : 0 // 数字类型;错误码,取值范围如下:
  2. // 0 初始化失败
  3. // 1 格式不支持
  4. // 2 输出路径无效
  5. // 3 未知错误
  6. // 4 无麦克风访问权限,暂仅支持iOS平台
  7. }

示例代码

  1. var audioRecorder = api.require('audioRecorder');
  2. audioRecorder.startRecord({
  3. savePath:'fs://test.amr',
  4. format:'amr'
  5. }, function(ret, err){
  6. alert(JSON.stringify(ret));
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getVolume

获取当前/实时音量

getVolume(callback(ret))

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addEventListener

addEventListener({params},callback(ret))

params

name:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. var audioRecorder = api.require('audioRecorder');
  2. audioRecorder.addEventListener({
  3. name: 'volume'
  4. }, function(ret){
  5. alert(JSON.stringify(ret));
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

pauseRecord

暂停录音,暂仅支持iOS端

pauseRecord(callback(ret))

callback(ret)

ret:

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

示例代码

  1. var audioRecorder = api.require('audioRecorder');
  2. audioRecorder.pauseRecord(function(ret){
  3. });

可用性

iOS系统

可提供的1.0.0及更高版本

resumeRecord

恢复录音,暂仅支持iOS端

resumeRecord(callback(ret))

callback(ret)

ret:

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

示例代码

可用性

iOS系统

可提供的1.0.0及更高版本

stopRecord

停止录音

stopRecord(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. {
  2. status : true // 布尔类型;是否停止成功
  3. }
  1. var audioRecorder = api.require('audioRecorder');
  2. alert(JSON.stringify(ret));
  3. });

可用性

可提供的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对象
  • 描述:返回值
  1. {
  2. status : true // 布尔类型;是否转换成功
  3. }

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getAttr

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

getAttr({params}, callback(ret))

params

path:

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

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:返回值
  1. var audioRecorder = api.require('audioRecorder');
  2. audioRecorder.getAttr({
  3. path: 'fs://recorder/123.mp3'
  4. }, function(ret) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本