录音 1000+

接口声明

  1. { "name": "system.record" }

导入模块

  1. import record from '@system.record' const record = require('@system.record')

接口定义

record.start(OBJECT)

开始录音。

权限要求

录音

参数:

参数名类型必填说明
duration 1010+Number录音时长,单位为 ms。如果 duration 为有效值将在达到指定值时停止录音
sampleRate 1010+Number采样率。不同的音频格式所支持的采样率范围不同。对于 aac 格式,默认设置为 8000,建议使用 8000/16000/44100
numberOfChannels 1010+Number录音通道数,有效值 1/2
encodeBitRate 1010+Number编码码率。编码码率的取值与采样率和音频格式有关。对 aac 格式,建议按照下表中取值范围来选择编码码率
format 1010+String音频格式,有效值 3gpp/amr_nb/aac。缺省为 3gpp
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
aac 格式采样率及码率建议值对应表:
采样率编码码率
800016000 ~ 48000
1600024000 ~ 96000
4410064000 ~ 320000
success 返回值:
参数名类型说明
uriString录音文件的存储路径,在应用的缓存目录中
fail 返回错误代码
错误码说明
201用户拒绝授权,获取录音权限失败

示例:

  1. record.start({
  2. duration: 10000,
  3. sampleRate: 8000,
  4. numberOfChannels: 1,
  5. encodeBitRate: 16000,
  6. format: 'aac',
  7. success: function(data) {
  8. console.log(`handling success: ${data.uri}`)
  9. },
  10. fail: function(data, code) {
  11. console.log(`handling fail, code = ${code}`)
  12. }
  13. })

record.stop(OBJECT)

停止录音。

参数:

示例:

  1. record.stop()

后台运行限制

manifest 中申请后可用。后台运行详细用法参见后台运行 脚本