HarmonyOS 需要实现扫码音效播放问题

audioHaptic音振协同方案的方案中:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/using-audiohaptic-for-playback-0000001823291369在第一步 获取音振管理器实例,并注册音频及振动资源中。代码示例

let audioUri = 'data/audioTest.wav'; // 需更改为目标音频资源的Uri  let hapticUri = 'data/hapticTest.json'; // 需更改为目标振动资源的Uri

这里API audioUri参数和hapticUri参数示例中说是推到data目录下 手机根目录的data目录吗? 不明确。放在沙箱路径,APP安装的时候如何将音频文件和配置文件放在推入到沙箱路径下?

HarmonyOS
2024-08-11 15:07:50
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

替代方案:代码操作将音频和震动配置文件从rawfile送进沙箱路径。 然后再执行音频registerSource()操作。

async function resourceFile(resourcePath: string) { 
  //1.读取文件 
  let uint8Array: Uint8Array = getContext() 
    .createModuleContext("library") 
    .resourceManager 
    .getRawFileContentSync(resourcePath); 
  let fileName = resourcePath.substring(resourcePath.lastIndexOf('/') + 1); 
  console.log("${tag} fileName:S{fileName}"); 
  //2.创建沙箱文件 
  let filePath = getContext().createModuleContext("library").filesDir + '/' + fileName; 
  if (fileIo.accessSync(filePath)) { 
    fileIo.unlinkSync(filePath) 
  } 
  let file: fileIo.File = fileIo.openSync(filePath, fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE); 
  // 3.resource下文件写入沙箱文件 
  fileIo.writeSync(file.fd, uint8Array.buffer); 
  // 4.关闭文件 
  fileIo.closeSync(file); 
  console.log("S{tag) filePatheS(filePath}"); 
  return filePath; 
}
分享
微博
QQ
微信
回复
2024-08-12 14:08:37
相关问题
HarmonyOS 服务权限问题
159浏览 • 1回复 待解决
HarmonyOS音效如何加载和播放
486浏览 • 1回复 待解决
JS如何实现手机功能?
2937浏览 • 1回复 待解决
相册识别多失败
1766浏览 • 1回复 待解决
实现的库有哪些 ,有人知道吗?
1131浏览 • 1回复 待解决
Arkts开发 api9 中怎么实现功能?
3058浏览 • 1回复 待解决
如何生成时的镂空遮罩?
186浏览 • 1回复 待解决
HarmonyOS h5拉起系统页面的demo
181浏览 • 1回复 待解决
自定义界面预览画面出现拉伸
1814浏览 • 1回复 待解决