AliensAudioMgr.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { AudioClip } from 'cc';
  2. import { tgxAudioMgr } from '../../../core_tgx/tgx';
  3. import { ModuleDef } from '../../../scripts/ModuleDef';
  4. import { MusicConfigModel } from '../Model/MusicConfigModel';
  5. const BundleName = ModuleDef.MODULE_ALIENS;
  6. export class AliensAudioMgr {
  7. static _musicConfigModel: MusicConfigModel;
  8. public static initilize() {
  9. this._musicConfigModel = new MusicConfigModel();
  10. }
  11. /**
  12. * @en
  13. * play short audio, such as strikes,explosions
  14. * @zh
  15. * 播放短音频,比如 打击音效,爆炸音效等
  16. * @param sound clip or url for the audio
  17. * @param volume
  18. */
  19. public static playOneShot(sound: AudioClip | string, volume: number = 1.0) {
  20. tgxAudioMgr.inst.playOneShot(sound, volume, BundleName);
  21. }
  22. /**
  23. * @en
  24. * play long audio, such as the bg music
  25. * @zh
  26. * 播放长音频,比如 背景音乐
  27. * @param sound clip or url for the sound
  28. * @param volume
  29. */
  30. public static play(sound: AudioClip | string, volume: number = 1.0,) {
  31. tgxAudioMgr.inst.play(sound, volume, BundleName);
  32. }
  33. public static getMusicIdName(id: number): string {
  34. return 'Audio/' + this._musicConfigModel.getNameById(id);
  35. }
  36. /**
  37. * stop the audio play
  38. */
  39. public static stop() {
  40. tgxAudioMgr.inst.stop();
  41. }
  42. /**
  43. * pause the audio play
  44. */
  45. public static pause() {
  46. tgxAudioMgr.inst.pause();
  47. }
  48. /**
  49. * resume the audio play
  50. */
  51. public static resume() {
  52. tgxAudioMgr.inst.audioSource.play();
  53. }
  54. }