一、播放音频文件:audio对象
当需要播放特定的音频文件(如提示音、背景音乐、录音回放等)时,应使用audio对象。该对象提供了播放与停止两个核心方法。
1.audio.play(fullPath)—— 播放音频
功能:播放指定的音频文件。
参数:
fullPath(string,必填):音频文件的完整路径。
支持的路径类型:
本地文件路径:以
/sdcard/开头,指向设备存储中的具体文件。例如:/sdcard/my.mp3。打包资源路径:以
asset:开头,指向打包到冰狐 APP 中的声音文件。例如:asset:test.mp3。这种方式适合将常用音频随 APP 一起分发,无需额外存储权限。
2.audio.stop()—— 停止播放
功能:立即停止当前正在播放的音频。
参数:无。
使用示例:
// 播放设备存储中的音频文件 audio.play('/sdcard/my.mp3'); // 播放打包到冰狐APP中的资源文件 audio.play('asset:test.mp3'); // 停止当前播放 audio.stop();二、文本转语音(TTS):tts对象
当需要将动态生成的文本内容(如状态播报、预警信息、进度提示等)实时转换为语音时,应使用tts对象。其 API 设计与audio对象保持一致。
1.tts.play(text)—— 播放文本
功能:将传入的文本字符串转换为语音并实时播放。
参数:
text(string,必填):待转换的文本内容,支持中文、英文、数字及符号混合输入。
特点:
无需初始化:平台底层自动完成语音合成与播放,开箱即用。
自动中断:连续调用时,后一次播放会自动中断前一次未完成的语音,避免声音叠加。
完全本地运行:无需网络请求,无调用频率限制,无额外费用,适合离线自动化场景。
2.tts.stop()—— 停止播放
功能:立即终止当前正在播放的 TTS 语音。
参数:无。即使当前没有语音在播放,调用此方法也不会报错。
使用示例:
// 基础文本播报 tts.play('任务已启动,正在执行自动化操作。'); // 带变量的动态播报 var count = 10; tts.play('操作完成,共执行了' + count + '次任务。'); // 停止当前播报 tts.stop();三、audio与tts的选择与对比
| 对比维度 | audio对象 | tts对象 |
|---|---|---|
| 输入类型 | 预先准备好的音频文件(MP3等) | 动态生成的文本字符串 |
| 适用场景 | 固定提示音、背景音乐、录音回放 | 状态播报、预警信息、进度提示 |
| 灵活性 | 低(内容固定) | 高(内容可动态拼接) |
| 资源依赖 | 依赖音频文件存在 | 无需外部文件,仅依赖系统 TTS 引擎 |
| 核心方法 | play(fullPath)/stop() | play(text)/stop() |
四、典型应用场景
自动化任务状态播报:在脚本的关键节点(启动、完成、异常)调用
tts.play()进行语音提醒,无需盯着屏幕查看日志。设备监控预警:当检测到存储空间不足、网络断开等异常时,通过 TTS 发出语音告警。
批量操作进度提示:在批量点击、批量数据处理过程中,播报当前进度,避免重复操作。
固定提示音播放:在特定操作完成时,播放预设的音频文件(如成功提示音、错误提示音),使用
audio.play()实现。无障碍辅助:为界面文本提供语音朗读,提升工具的普惠性。
五、注意事项
文件路径:使用
audio.play()时,务必确保路径正确且文件存在。本地路径需以/sdcard/开头,资源路径需以asset:开头。权限:播放本地存储的音频文件可能需要存储权限,请确保冰狐 APP 已获取相应权限。
音频格式:建议使用常见的 MP3 格式,以确保兼容性。
连续调用:无论是
audio.play()还是tts.play(),连续调用时后者会自动中断前者,无需手动调用stop()。
总结
冰狐智能辅助平台的播音能力通过audio和tts两个对象提供,API 设计简洁统一——都只包含play()和stop()两个方法。audio面向固定音频文件的播放,tts面向动态文本的语音合成。开发者可根据实际需求灵活选用,在自动化脚本中快速集成语音播报功能,提升任务执行的感知度和交互体验。