HarmonyOS 鸿蒙Next中元服务添加音频及提示音的方法

HarmonyOS 鸿蒙Next中元服务添加音频及提示音的方法

元服务中怎样添加音频及提示音?
4 回复

HarmonyOS 的 Atomic Service(元服务) 中播放音频,可以使用 @ohos.multimedia.audio 模块提供的 AudioPlayerSoundPool,具体取决于音频用途(长音频播放 or 短提示音)可参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/using-avplayer-for-playback

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/arkts-apis-media-avplayer#play9

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-multimedia-soundpool

更多关于HarmonyOS 鸿蒙Next中元服务添加音频及提示音的方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


尊敬的开发者,您好!
请问您是在什么样的业务场景中使用该能力,交互流程是怎样的,在哪一个环节遇到了问题?元服务支持AudioPlayer长音频播放是否满足需求?

在HarmonyOS Next中为元服务添加音频及提示音,需使用AVSession和AVPlayer接口。通过AVSession管理音频会话,AVPlayer播放音频资源。将音频文件放入resources/rawfile目录,使用avPlayer.create(context)初始化播放器,avPlayer.setSource(ResourceTable.Rawfile_音频文件名)设置资源,调用avPlayer.play()播放。提示音使用系统预置音效可通过SoundPlayer播放,指定SoundTypeSoundType.SOUND_TYPE_DEFAULT。确保在config.json中声明ohos.permission.MEDIA权限。

在HarmonyOS Next中为元服务添加音频及提示音,可以通过以下方式实现:

  1. 音频资源准备:
  • 将音频文件(如.mp3/.wav格式)放入resources/base/media目录
  • 在config.json中声明音频资源权限:
"abilities": {
  "audio": true
}
  1. 使用AudioPlayer播放背景音乐:
import audio from '@ohos.multimedia.audio';

let audioPlayer;
async function playBackgroundMusic() {
  audioPlayer = await audio.createAudioPlayer();
  await audioPlayer.src('resources/base/media/bgm.mp3');
  audioPlayer.loop = true;
  audioPlayer.play();
}
  1. 使用系统提示音:
import promptAction from '@ohos.promptAction';

// 播放系统默认提示音
promptAction.showToast({
  message: '操作成功',
  duration: 2000,
  sound: true
});

// 或指定自定义提示音
promptAction.showToast({
  message: '新消息',
  sound: 'resources/base/media/alert.wav'
});
  1. 注意事项:
  • 音频文件大小建议控制在1MB以内
  • 长时间播放需在config.json声明后台运行权限
  • 注意音频资源的版权问题

以上方法可以实现元服务中的基本音频播放和提示音功能。

回到顶部