HarmonyOS 鸿蒙Next JS,API6,AudioPlayer播放提示音的路径问题

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next JS,API6,AudioPlayer播放提示音的路径问题 JS,API6,用media.createAudioPlayer(),播放一个内置提示音(比如:/common/sound1.mp3,或者/resources/rawfile/sound.mp3),文件路径该怎么弄?试了各种fd都不行呢。

6 回复

现在都是使用新版本了,api6都太老了不维护了,参考链接:音效管理-音频播放-Audio Kit(音频服务)-开发 | 华为开发者联盟 (huawei.com)

更多关于HarmonyOS 鸿蒙Next JS,API6,AudioPlayer播放提示音的路径问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


请使用经授权的华为帐号查阅该文档,hahahaa。

就是不想带我等草民玩呗,

但我是要写给手表的,现在手表最高才到API6

在HarmonyOS(鸿蒙Next)中,使用API6的AudioPlayer播放提示音时,路径问题主要涉及如何正确指定音频文件的路径。鸿蒙系统支持从资源文件、本地存储和网络等多种路径加载音频文件。

  1. 资源文件路径:如果音频文件存放在应用的资源目录(如resources/rawfile),可以使用ResourceManager获取资源路径。例如:

    let resourceManager = getContext().resourceManager;
    let path = resourceManager.getRawFilePath('beep.mp3');
  2. 本地存储路径:如果音频文件存放在应用的本地存储目录(如internal://app),可以直接使用文件路径。例如:

    let path = 'internal://app/beep.mp3';
  3. 网络路径:如果音频文件存放在网络服务器上,可以使用URL路径。例如:

    let path = 'https://example.com/beep.mp3';

在指定路径后,使用AudioPlayersetSource方法设置音频源,然后调用play方法播放音频。例如:

let audioPlayer = media.createAudioPlayer();
audioPlayer.setSource({ path: path });
audioPlayer.play();

确保路径正确且音频文件存在,否则会导致播放失败。

在HarmonyOS(鸿蒙Next)中,使用API6的AudioPlayer播放提示音时,路径问题需要注意以下几点:

  1. 资源文件路径:如果提示音是应用内置资源,路径应使用ohos.resourceManager获取,如$r('app.media.beep')

  2. 外部存储路径:若提示音位于外部存储,路径应使用ohos.file模块获取,如getContext().getExternalFilesDir('sounds') + '/beep.mp3'

  3. 权限:访问外部存储时,需在config.json中声明ohos.permission.READ_MEDIA权限。

示例代码:

let audioPlayer = media.createAudioPlayer();
audioPlayer.src = $r('app.media.beep').path; // 内置资源
audioPlayer.play();

确保路径正确且权限已声明,以避免播放失败。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!