AudioManager.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { _decorator, AudioClip, Component, Node, resources } from 'cc';
  2. const { ccclass, property } = _decorator;
  3. @ccclass('AudioManager')
  4. export class AudioManager extends Component {
  5. private static instance: AudioManager;
  6. public static getInstance(): AudioManager {
  7. if (!this.instance) {
  8. this.instance = new AudioManager();
  9. }
  10. return this.instance;
  11. }
  12. /**
  13. * 播放动态加载的音频文件
  14. * @param path 音频文件的路径,相对于 'assets/resources/' 目录
  15. * @param volume 音量大小,默认为1
  16. * @param loop 是否循环播放,默认为false
  17. */
  18. playDynamicAudio(path: string, volume: number = 1, loop: boolean = false): void {
  19. resources.load(path, AudioClip, (err, clip: AudioClip) => {
  20. if (err) {
  21. console.error("Failed to load audio:", err);
  22. return;
  23. }
  24. // const audioId = clip.play
  25. // clip.setVolume(volume, audioId);
  26. // clip.setLoop(loop, audioId);
  27. });
  28. }
  29. }