自动化脚本中如何录音?

发布时间:2026/9/20 20:10:41
自动化脚本中如何录音? 自动化脚本平台提供了一套完整的录音 API开发者可以通过简单的函数调用来实现音频录制功能。这套 API 包含三个核心函数requestAudioCapture请求录音权限、startRecordAudio开始录音和stopRecordAudio停止录音。本文将详细介绍这三个 API 的使用方法、参数说明以及实际开发中的注意事项。一、录音权限请求requestAudioCapture在 Android 平台上进行录音操作首先需要获取录音权限。冰狐平台通过requestAudioCapture函数来处理这一前置步骤。函数签名requestAudioCapture(confirmPermissionTag, retryCount)参数详解参数名类型必填说明confirmPermissionTagstring选填权限对话框中确认打开权限的文字默认值为立即开始|允许retryCountinteger选填点击 confirmTag 的重试次数默认值为 5使用说明confirmPermissionTag参数用于匹配系统权限弹窗中的确认按钮文字。如果不为空平台会自动点击匹配到的控件自动确认打开权限若为空则需要开发者手动点击确认按钮。该参数支持使用|分割多个文本只要匹配到其中一个即可生效。retryCount参数指定了自动点击确认按钮的重试次数默认为 5 次。在某些设备上权限弹窗可能出现延迟适当的重试机制可以提高权限获取的成功率。示例// 使用默认参数请求权限 requestAudioCapture(); // 自定义确认按钮文字和重试次数 requestAudioCapture(允许|同意, 3);二、开始录音startRecordAudio获取录音权限后通过startRecordAudio函数开始录制音频。函数签名startRecordAudio(fullPath, options)参数详解参数名类型必填说明fullPathstring必填文件名仅支持 wav 格式optionsObject选填录音参数配置默认值 {sampleRate: 44100, channelCount: 1, bitsPerSample: 16}文件路径说明fullPath参数支持两种路径格式绝对路径例如/sdcard/temp.wav指定完整的文件存储位置相对路径例如temp.wav文件将保存在手机外部存储目录下需要注意的是该 API 仅支持 wav 格式的音频文件其他格式如 MP3、AAC 等目前不被支持。录音参数配置options对象包含三个可配置参数sampleRate采样率默认 44100 Hz。常见的取值有 8000、16000、22050、32000、44100、48000 等。采样率越高音质越好但文件体积也越大。channelCount声道数默认 1单声道。设置为 2 则为立体声。bitsPerSample位深度默认 16。常见的取值有 8 和 1616 位提供更好的音质表现。返回值startRecordAudio函数会返回一个值可用于判断录音是否成功启动。示例// 使用默认参数录音保存为相对路径 var result startRecordAudio(my_recording.wav); // 自定义录音参数 var result startRecordAudio(/sdcard/audio/high_quality.wav, { sampleRate: 48000, channelCount: 2, bitsPerSample: 16 }); // 低采样率录音适合语音类应用 var result startRecordAudio(voice.wav, { sampleRate: 16000, channelCount: 1, bitsPerSample: 16 });三、停止录音stopRecordAudio录音完成后通过stopRecordAudio函数停止录音并保存文件。函数签名stopRecordAudio()使用说明该函数无需任何参数调用后会立即停止当前正在进行的录音并将音频数据写入到startRecordAudio指定的文件中。示例stopRecordAudio();四、完整示例以下是一个完整的录音流程示例展示从权限请求到录音完成的全部步骤function main() { // 第一步请求录音权限 requestAudioCapture(); // 第二步开始录音指定文件名和参数 var result startRecordAudio(mys2.wav, { sampleRate: 32000 }); console.log(录音启动结果, result); // 第三步录音持续 20 秒 sleep(20000); // 第四步停止录音 stopRecordAudio(); }五、实战应用场景场景一语音笔记应用function startVoiceNote() { var timestamp new Date().getTime(); var fileName note_ timestamp .wav; requestAudioCapture(允许|同意, 3); var result startRecordAudio(fileName, { sampleRate: 22050, channelCount: 1, bitsPerSample: 16 }); if (result) { console.log(开始录音文件 fileName); } else { console.log(录音启动失败); } } function stopVoiceNote() { stopRecordAudio(); console.log(录音已保存); }场景二定时录音任务function scheduledRecording(durationSeconds) { requestAudioCapture(); var result startRecordAudio(/sdcard/scheduled.wav, { sampleRate: 44100, channelCount: 1, bitsPerSample: 16 }); if (result) { console.log(定时录音开始持续 durationSeconds 秒); sleep(durationSeconds * 1000); stopRecordAudio(); console.log(定时录音完成); } } // 录制 30 秒 scheduledRecording(30);场景三带重试机制的权限请求function recordWithRetry() { // 尝试请求权限最多重试 5 次匹配允许或同意按钮 requestAudioCapture(允许|同意, 5); // 等待权限弹窗处理 sleep(1000); var result startRecordAudio(retry_test.wav); if (result) { console.log(录音已启动); // 录音逻辑... } else { console.log(录音启动失败请检查权限); } }六、注意事项权限是前提在任何录音操作之前必须先调用requestAudioCapture获取录音权限否则startRecordAudio可能会失败。格式限制目前仅支持 wav 格式如需其他格式需要自行转换。文件路径使用相对路径时文件保存在手机外部存储目录不同设备的具体路径可能有所不同。录音时长录音时长没有硬性限制但需注意存储空间和内存占用。并发录音同一时间只能有一个录音会话在调用startRecordAudio之前确保没有其他录音正在进行。权限弹窗处理不同 Android 版本和厂商的权限弹窗文字可能不同建议confirmPermissionTag参数包含多种可能的匹配文本。七、总结冰狐智能辅助平台的录音 API 设计简洁明了三个核心函数覆盖了从权限获取到录音完成的完整流程。开发者只需按照「请求权限 → 开始录音 → 停止录音」的顺序调用相应函数即可快速实现音频录制功能。通过灵活配置采样率、声道数和位深度等参数可以满足从高质量音乐录制到低码率语音采集等不同场景的需求。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询